aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncaen <mail@duncano.de>2017-03-04 22:32:34 +0100
committerDuncaen <mail@duncano.de>2017-03-04 22:40:17 +0100
commit3d02c2e2dd2a34873573d720e32893efad6147e2 (patch)
tree53b9f0f563b807b8123b443a39a55330ee1bb3bb
parent73891ba0d59bd29c8e43089110b4b926c6d761f1 (diff)
downloadlobase-3d02c2e2dd2a34873573d720e32893efad6147e2.tar.gz
add regress
-rw-r--r--bsd.regress.mk16
-rw-r--r--regress/Makefile8
-rw-r--r--regress/bin/Makefile8
-rw-r--r--regress/bin/cat/Makefile11
-rw-r--r--regress/bin/cat/cat_be.in5
-rw-r--r--regress/bin/cat/cat_be.out5
-rw-r--r--regress/bin/cat/cat_se.in3
-rw-r--r--regress/bin/cat/cat_se.out3
-rw-r--r--regress/bin/chmod/Makefile491
-rw-r--r--regress/bin/chmod/chflags.error1
-rw-r--r--regress/bin/chmod/chgrp.error1
-rw-r--r--regress/bin/chmod/chmod.error1
-rw-r--r--regress/bin/chmod/chmod_prepsymlink0
-rw-r--r--regress/bin/chmod/chown.error1
-rw-r--r--regress/bin/ln/Makefile18
-rw-r--r--regress/bin/ln/test_ln.sh69
-rw-r--r--regress/bin/md5/Makefile50
-rw-r--r--regress/bin/md5/pipe_test.md52
-rw-r--r--regress/bin/md5/testsuite.cksum10
-rw-r--r--regress/bin/md5/testsuite.md510
-rw-r--r--regress/bin/md5/testsuite.sha110
-rw-r--r--regress/bin/md5/testsuite.sha22410
-rw-r--r--regress/bin/md5/testsuite.sha25610
-rw-r--r--regress/bin/md5/testsuite.sha38410
-rw-r--r--regress/bin/md5/testsuite.sha51210
-rw-r--r--regress/bin/pax/Makefile11
-rw-r--r--regress/bin/pax/t1.out1
-rw-r--r--regress/bin/pax/t1.sh36
-rw-r--r--regress/bin/pax/t2.out2
-rw-r--r--regress/bin/pax/t2.sh14
-rw-r--r--regress/bin/pax/t3.out33
-rw-r--r--regress/bin/pax/t3.sh24
-rw-r--r--regress/bin/pax/t4.out7
-rw-r--r--regress/bin/pax/t4.sh19
-rw-r--r--regress/bin/pax/t5.sh26
-rw-r--r--regress/bin/pax/t6.sh6
-rw-r--r--regress/bin/test/Makefile8
-rw-r--r--regress/bin/test/TEST.sh139
-rw-r--r--regress/sbin/Makefile8
-rw-r--r--regress/usr.bin/Makefile9
-rw-r--r--regress/usr.bin/bc/Makefile50
-rw-r--r--regress/usr.bin/bc/t1.in234
-rw-r--r--regress/usr.bin/bc/t1.log63
-rw-r--r--regress/usr.bin/bc/t1.out63
-rw-r--r--regress/usr.bin/bc/t10.in4
-rw-r--r--regress/usr.bin/bc/t10.log7
-rw-r--r--regress/usr.bin/bc/t10.out7
-rw-r--r--regress/usr.bin/bc/t11.in12
-rw-r--r--regress/usr.bin/bc/t11.log11
-rw-r--r--regress/usr.bin/bc/t11.out11
-rw-r--r--regress/usr.bin/bc/t12.in5
-rw-r--r--regress/usr.bin/bc/t12.log7
-rw-r--r--regress/usr.bin/bc/t12.out7
-rw-r--r--regress/usr.bin/bc/t13.in11
-rw-r--r--regress/usr.bin/bc/t13.log9
-rw-r--r--regress/usr.bin/bc/t13.out9
-rw-r--r--regress/usr.bin/bc/t14.in28
-rw-r--r--regress/usr.bin/bc/t14.log78
-rw-r--r--regress/usr.bin/bc/t14.out78
-rw-r--r--regress/usr.bin/bc/t15.in24
-rw-r--r--regress/usr.bin/bc/t15.log55
-rw-r--r--regress/usr.bin/bc/t15.out55
-rw-r--r--regress/usr.bin/bc/t16.in24
-rw-r--r--regress/usr.bin/bc/t16.log48
-rw-r--r--regress/usr.bin/bc/t16.out48
-rw-r--r--regress/usr.bin/bc/t17.in566
-rw-r--r--regress/usr.bin/bc/t17.log569
-rw-r--r--regress/usr.bin/bc/t17.out569
-rw-r--r--regress/usr.bin/bc/t18.in45
-rw-r--r--regress/usr.bin/bc/t18.log22
-rw-r--r--regress/usr.bin/bc/t18.out22
-rwxr-xr-xregress/usr.bin/bc/t19bin0 -> 73520 bytes
-rw-r--r--regress/usr.bin/bc/t19.c80
-rw-r--r--regress/usr.bin/bc/t2.in5
-rw-r--r--regress/usr.bin/bc/t2.log7
-rw-r--r--regress/usr.bin/bc/t2.out7
-rw-r--r--regress/usr.bin/bc/t3.in4
-rw-r--r--regress/usr.bin/bc/t3.log4
-rw-r--r--regress/usr.bin/bc/t3.out4
-rw-r--r--regress/usr.bin/bc/t4.in6
-rw-r--r--regress/usr.bin/bc/t4.log18
-rw-r--r--regress/usr.bin/bc/t4.out18
-rw-r--r--regress/usr.bin/bc/t5.in7
-rw-r--r--regress/usr.bin/bc/t5.log6
-rw-r--r--regress/usr.bin/bc/t5.out6
-rw-r--r--regress/usr.bin/bc/t6.in3
-rw-r--r--regress/usr.bin/bc/t6.log7
-rw-r--r--regress/usr.bin/bc/t6.out7
-rw-r--r--regress/usr.bin/bc/t7.in6
-rw-r--r--regress/usr.bin/bc/t7.log7
-rw-r--r--regress/usr.bin/bc/t7.out7
-rw-r--r--regress/usr.bin/bc/t8.in6
-rw-r--r--regress/usr.bin/bc/t8.log7
-rw-r--r--regress/usr.bin/bc/t8.out7
-rw-r--r--regress/usr.bin/bc/t9.in19
-rw-r--r--regress/usr.bin/bc/t9.log11
-rw-r--r--regress/usr.bin/bc/t9.out11
-rw-r--r--regress/usr.bin/calendar/20160101.out48
-rw-r--r--regress/usr.bin/calendar/20160102.out22
-rw-r--r--regress/usr.bin/calendar/20160103.out24
-rw-r--r--regress/usr.bin/calendar/20160104.out26
-rw-r--r--regress/usr.bin/calendar/20160105.out26
-rw-r--r--regress/usr.bin/calendar/20160106.out26
-rw-r--r--regress/usr.bin/calendar/20160107.out26
-rw-r--r--regress/usr.bin/calendar/20160108.out52
-rw-r--r--regress/usr.bin/calendar/20160109.out26
-rw-r--r--regress/usr.bin/calendar/20160110.out26
-rw-r--r--regress/usr.bin/calendar/20160111.out26
-rw-r--r--regress/usr.bin/calendar/20160112.out26
-rw-r--r--regress/usr.bin/calendar/20160113.out26
-rw-r--r--regress/usr.bin/calendar/20160114.out26
-rw-r--r--regress/usr.bin/calendar/20160115.out52
-rw-r--r--regress/usr.bin/calendar/20160116.out26
-rw-r--r--regress/usr.bin/calendar/20160117.out26
-rw-r--r--regress/usr.bin/calendar/20160118.out26
-rw-r--r--regress/usr.bin/calendar/20160119.out26
-rw-r--r--regress/usr.bin/calendar/20160120.out26
-rw-r--r--regress/usr.bin/calendar/20160121.out26
-rw-r--r--regress/usr.bin/calendar/20160122.out52
-rw-r--r--regress/usr.bin/calendar/20160123.out26
-rw-r--r--regress/usr.bin/calendar/20160124.out26
-rw-r--r--regress/usr.bin/calendar/20160125.out26
-rw-r--r--regress/usr.bin/calendar/20160126.out26
-rw-r--r--regress/usr.bin/calendar/20160127.out26
-rw-r--r--regress/usr.bin/calendar/20160128.out26
-rw-r--r--regress/usr.bin/calendar/20160129.out55
-rw-r--r--regress/usr.bin/calendar/20160130.out26
-rw-r--r--regress/usr.bin/calendar/20160131.out29
-rw-r--r--regress/usr.bin/calendar/20160201.out32
-rw-r--r--regress/usr.bin/calendar/20160202.out32
-rw-r--r--regress/usr.bin/calendar/20160203.out32
-rw-r--r--regress/usr.bin/calendar/20160204.out29
-rw-r--r--regress/usr.bin/calendar/20160205.out52
-rw-r--r--regress/usr.bin/calendar/20160206.out26
-rw-r--r--regress/usr.bin/calendar/20160207.out26
-rw-r--r--regress/usr.bin/calendar/20160208.out26
-rw-r--r--regress/usr.bin/calendar/20160209.out26
-rw-r--r--regress/usr.bin/calendar/20160210.out26
-rw-r--r--regress/usr.bin/calendar/20160211.out26
-rw-r--r--regress/usr.bin/calendar/20160212.out52
-rw-r--r--regress/usr.bin/calendar/20160213.out26
-rw-r--r--regress/usr.bin/calendar/20160214.out26
-rw-r--r--regress/usr.bin/calendar/20160215.out26
-rw-r--r--regress/usr.bin/calendar/20160216.out26
-rw-r--r--regress/usr.bin/calendar/20160217.out26
-rw-r--r--regress/usr.bin/calendar/20160218.out26
-rw-r--r--regress/usr.bin/calendar/20160219.out52
-rw-r--r--regress/usr.bin/calendar/20160220.out26
-rw-r--r--regress/usr.bin/calendar/20160221.out26
-rw-r--r--regress/usr.bin/calendar/20160222.out26
-rw-r--r--regress/usr.bin/calendar/20160223.out26
-rw-r--r--regress/usr.bin/calendar/20160224.out26
-rw-r--r--regress/usr.bin/calendar/20160225.out26
-rw-r--r--regress/usr.bin/calendar/20160226.out52
-rw-r--r--regress/usr.bin/calendar/20160227.out26
-rw-r--r--regress/usr.bin/calendar/20160228.out26
-rw-r--r--regress/usr.bin/calendar/20160229.out29
-rw-r--r--regress/usr.bin/calendar/20160301.out30
-rw-r--r--regress/usr.bin/calendar/20160302.out28
-rw-r--r--regress/usr.bin/calendar/20160303.out30
-rw-r--r--regress/usr.bin/calendar/20160304.out61
-rw-r--r--regress/usr.bin/calendar/20160305.out32
-rw-r--r--regress/usr.bin/calendar/20160306.out29
-rw-r--r--regress/usr.bin/calendar/20160307.out26
-rw-r--r--regress/usr.bin/calendar/20160308.out26
-rw-r--r--regress/usr.bin/calendar/20160309.out26
-rw-r--r--regress/usr.bin/calendar/20160310.out26
-rw-r--r--regress/usr.bin/calendar/20160311.out52
-rw-r--r--regress/usr.bin/calendar/20160312.out26
-rw-r--r--regress/usr.bin/calendar/20160313.out26
-rw-r--r--regress/usr.bin/calendar/20160314.out26
-rw-r--r--regress/usr.bin/calendar/20160315.out26
-rw-r--r--regress/usr.bin/calendar/20160316.out26
-rw-r--r--regress/usr.bin/calendar/20160317.out26
-rw-r--r--regress/usr.bin/calendar/20160318.out52
-rw-r--r--regress/usr.bin/calendar/20160319.out26
-rw-r--r--regress/usr.bin/calendar/20160320.out26
-rw-r--r--regress/usr.bin/calendar/20160321.out26
-rw-r--r--regress/usr.bin/calendar/20160322.out26
-rw-r--r--regress/usr.bin/calendar/20160323.out26
-rw-r--r--regress/usr.bin/calendar/20160324.out27
-rw-r--r--regress/usr.bin/calendar/20160325.out54
-rw-r--r--regress/usr.bin/calendar/20160326.out27
-rw-r--r--regress/usr.bin/calendar/20160327.out27
-rw-r--r--regress/usr.bin/calendar/20160328.out26
-rw-r--r--regress/usr.bin/calendar/20160329.out26
-rw-r--r--regress/usr.bin/calendar/20160330.out26
-rw-r--r--regress/usr.bin/calendar/20160331.out29
-rw-r--r--regress/usr.bin/calendar/20160401.out62
-rw-r--r--regress/usr.bin/calendar/20160402.out30
-rw-r--r--regress/usr.bin/calendar/20160403.out32
-rw-r--r--regress/usr.bin/calendar/20160404.out29
-rw-r--r--regress/usr.bin/calendar/20160405.out26
-rw-r--r--regress/usr.bin/calendar/20160406.out26
-rw-r--r--regress/usr.bin/calendar/20160407.out26
-rw-r--r--regress/usr.bin/calendar/20160408.out52
-rw-r--r--regress/usr.bin/calendar/20160409.out26
-rw-r--r--regress/usr.bin/calendar/20160410.out26
-rw-r--r--regress/usr.bin/calendar/20160411.out26
-rw-r--r--regress/usr.bin/calendar/20160412.out26
-rw-r--r--regress/usr.bin/calendar/20160413.out26
-rw-r--r--regress/usr.bin/calendar/20160414.out26
-rw-r--r--regress/usr.bin/calendar/20160415.out52
-rw-r--r--regress/usr.bin/calendar/20160416.out26
-rw-r--r--regress/usr.bin/calendar/20160417.out26
-rw-r--r--regress/usr.bin/calendar/20160418.out26
-rw-r--r--regress/usr.bin/calendar/20160419.out26
-rw-r--r--regress/usr.bin/calendar/20160420.out26
-rw-r--r--regress/usr.bin/calendar/20160421.out26
-rw-r--r--regress/usr.bin/calendar/20160422.out52
-rw-r--r--regress/usr.bin/calendar/20160423.out26
-rw-r--r--regress/usr.bin/calendar/20160424.out26
-rw-r--r--regress/usr.bin/calendar/20160425.out26
-rw-r--r--regress/usr.bin/calendar/20160426.out26
-rw-r--r--regress/usr.bin/calendar/20160427.out26
-rw-r--r--regress/usr.bin/calendar/20160428.out26
-rw-r--r--regress/usr.bin/calendar/20160429.out57
-rw-r--r--regress/usr.bin/calendar/20160430.out30
-rw-r--r--regress/usr.bin/calendar/20160501.out31
-rw-r--r--regress/usr.bin/calendar/20160502.out28
-rw-r--r--regress/usr.bin/calendar/20160503.out30
-rw-r--r--regress/usr.bin/calendar/20160504.out32
-rw-r--r--regress/usr.bin/calendar/20160505.out29
-rw-r--r--regress/usr.bin/calendar/20160506.out52
-rw-r--r--regress/usr.bin/calendar/20160507.out26
-rw-r--r--regress/usr.bin/calendar/20160508.out26
-rw-r--r--regress/usr.bin/calendar/20160509.out26
-rw-r--r--regress/usr.bin/calendar/20160510.out26
-rw-r--r--regress/usr.bin/calendar/20160511.out26
-rw-r--r--regress/usr.bin/calendar/20160512.out26
-rw-r--r--regress/usr.bin/calendar/20160513.out52
-rw-r--r--regress/usr.bin/calendar/20160514.out26
-rw-r--r--regress/usr.bin/calendar/20160515.out26
-rw-r--r--regress/usr.bin/calendar/20160516.out26
-rw-r--r--regress/usr.bin/calendar/20160517.out26
-rw-r--r--regress/usr.bin/calendar/20160518.out26
-rw-r--r--regress/usr.bin/calendar/20160519.out26
-rw-r--r--regress/usr.bin/calendar/20160520.out52
-rw-r--r--regress/usr.bin/calendar/20160521.out26
-rw-r--r--regress/usr.bin/calendar/20160522.out26
-rw-r--r--regress/usr.bin/calendar/20160523.out26
-rw-r--r--regress/usr.bin/calendar/20160524.out26
-rw-r--r--regress/usr.bin/calendar/20160525.out26
-rw-r--r--regress/usr.bin/calendar/20160526.out26
-rw-r--r--regress/usr.bin/calendar/20160527.out52
-rw-r--r--regress/usr.bin/calendar/20160528.out26
-rw-r--r--regress/usr.bin/calendar/20160529.out26
-rw-r--r--regress/usr.bin/calendar/20160530.out26
-rw-r--r--regress/usr.bin/calendar/20160531.out29
-rw-r--r--regress/usr.bin/calendar/20160601.out30
-rw-r--r--regress/usr.bin/calendar/20160602.out30
-rw-r--r--regress/usr.bin/calendar/20160603.out58
-rw-r--r--regress/usr.bin/calendar/20160604.out29
-rw-r--r--regress/usr.bin/calendar/20160605.out26
-rw-r--r--regress/usr.bin/calendar/20160606.out26
-rw-r--r--regress/usr.bin/calendar/20160607.out26
-rw-r--r--regress/usr.bin/calendar/20160608.out26
-rw-r--r--regress/usr.bin/calendar/20160609.out26
-rw-r--r--regress/usr.bin/calendar/20160610.out52
-rw-r--r--regress/usr.bin/calendar/20160611.out26
-rw-r--r--regress/usr.bin/calendar/20160612.out26
-rw-r--r--regress/usr.bin/calendar/20160613.out26
-rw-r--r--regress/usr.bin/calendar/20160614.out26
-rw-r--r--regress/usr.bin/calendar/20160615.out26
-rw-r--r--regress/usr.bin/calendar/20160616.out26
-rw-r--r--regress/usr.bin/calendar/20160617.out52
-rw-r--r--regress/usr.bin/calendar/20160618.out26
-rw-r--r--regress/usr.bin/calendar/20160619.out26
-rw-r--r--regress/usr.bin/calendar/20160620.out26
-rw-r--r--regress/usr.bin/calendar/20160621.out26
-rw-r--r--regress/usr.bin/calendar/20160622.out26
-rw-r--r--regress/usr.bin/calendar/20160623.out26
-rw-r--r--regress/usr.bin/calendar/20160624.out52
-rw-r--r--regress/usr.bin/calendar/20160625.out26
-rw-r--r--regress/usr.bin/calendar/20160626.out26
-rw-r--r--regress/usr.bin/calendar/20160627.out26
-rw-r--r--regress/usr.bin/calendar/20160628.out26
-rw-r--r--regress/usr.bin/calendar/20160629.out26
-rw-r--r--regress/usr.bin/calendar/20160630.out29
-rw-r--r--regress/usr.bin/calendar/20160701.out60
-rw-r--r--regress/usr.bin/calendar/20160702.out28
-rw-r--r--regress/usr.bin/calendar/20160703.out30
-rw-r--r--regress/usr.bin/calendar/20160704.out32
-rw-r--r--regress/usr.bin/calendar/20160705.out29
-rw-r--r--regress/usr.bin/calendar/20160706.out26
-rw-r--r--regress/usr.bin/calendar/20160707.out26
-rw-r--r--regress/usr.bin/calendar/20160708.out52
-rw-r--r--regress/usr.bin/calendar/20160709.out26
-rw-r--r--regress/usr.bin/calendar/20160710.out26
-rw-r--r--regress/usr.bin/calendar/20160711.out26
-rw-r--r--regress/usr.bin/calendar/20160712.out26
-rw-r--r--regress/usr.bin/calendar/20160713.out26
-rw-r--r--regress/usr.bin/calendar/20160714.out26
-rw-r--r--regress/usr.bin/calendar/20160715.out52
-rw-r--r--regress/usr.bin/calendar/20160716.out26
-rw-r--r--regress/usr.bin/calendar/20160717.out26
-rw-r--r--regress/usr.bin/calendar/20160718.out26
-rw-r--r--regress/usr.bin/calendar/20160719.out26
-rw-r--r--regress/usr.bin/calendar/20160720.out26
-rw-r--r--regress/usr.bin/calendar/20160721.out26
-rw-r--r--regress/usr.bin/calendar/20160722.out52
-rw-r--r--regress/usr.bin/calendar/20160723.out26
-rw-r--r--regress/usr.bin/calendar/20160724.out26
-rw-r--r--regress/usr.bin/calendar/20160725.out26
-rw-r--r--regress/usr.bin/calendar/20160726.out26
-rw-r--r--regress/usr.bin/calendar/20160727.out26
-rw-r--r--regress/usr.bin/calendar/20160728.out26
-rw-r--r--regress/usr.bin/calendar/20160729.out51
-rw-r--r--regress/usr.bin/calendar/20160730.out26
-rw-r--r--regress/usr.bin/calendar/20160731.out25
-rw-r--r--regress/usr.bin/calendar/20160801.out22
-rw-r--r--regress/usr.bin/calendar/20160802.out20
-rw-r--r--regress/usr.bin/calendar/20160803.out22
-rw-r--r--regress/usr.bin/calendar/20160804.out21
-rw-r--r--regress/usr.bin/calendar/20160805.out36
-rw-r--r--regress/usr.bin/calendar/20160806.out18
-rw-r--r--regress/usr.bin/calendar/20160807.out18
-rw-r--r--regress/usr.bin/calendar/20160808.out18
-rw-r--r--regress/usr.bin/calendar/20160809.out18
-rw-r--r--regress/usr.bin/calendar/20160810.out18
-rw-r--r--regress/usr.bin/calendar/20160811.out18
-rw-r--r--regress/usr.bin/calendar/20160812.out36
-rw-r--r--regress/usr.bin/calendar/20160813.out18
-rw-r--r--regress/usr.bin/calendar/20160814.out18
-rw-r--r--regress/usr.bin/calendar/20160815.out18
-rw-r--r--regress/usr.bin/calendar/20160816.out18
-rw-r--r--regress/usr.bin/calendar/20160817.out18
-rw-r--r--regress/usr.bin/calendar/20160818.out18
-rw-r--r--regress/usr.bin/calendar/20160819.out36
-rw-r--r--regress/usr.bin/calendar/20160820.out18
-rw-r--r--regress/usr.bin/calendar/20160821.out18
-rw-r--r--regress/usr.bin/calendar/20160822.out18
-rw-r--r--regress/usr.bin/calendar/20160823.out18
-rw-r--r--regress/usr.bin/calendar/20160824.out18
-rw-r--r--regress/usr.bin/calendar/20160825.out18
-rw-r--r--regress/usr.bin/calendar/20160826.out36
-rw-r--r--regress/usr.bin/calendar/20160827.out18
-rw-r--r--regress/usr.bin/calendar/20160828.out18
-rw-r--r--regress/usr.bin/calendar/20160829.out18
-rw-r--r--regress/usr.bin/calendar/20160830.out18
-rw-r--r--regress/usr.bin/calendar/20160831.out21
-rw-r--r--regress/usr.bin/calendar/20160901.out22
-rw-r--r--regress/usr.bin/calendar/20160902.out43
-rw-r--r--regress/usr.bin/calendar/20160903.out24
-rw-r--r--regress/usr.bin/calendar/20160904.out21
-rw-r--r--regress/usr.bin/calendar/20160905.out18
-rw-r--r--regress/usr.bin/calendar/20160906.out18
-rw-r--r--regress/usr.bin/calendar/20160907.out18
-rw-r--r--regress/usr.bin/calendar/20160908.out18
-rw-r--r--regress/usr.bin/calendar/20160909.out36
-rw-r--r--regress/usr.bin/calendar/20160910.out18
-rw-r--r--regress/usr.bin/calendar/20160911.out18
-rw-r--r--regress/usr.bin/calendar/20160912.out18
-rw-r--r--regress/usr.bin/calendar/20160913.out18
-rw-r--r--regress/usr.bin/calendar/20160914.out18
-rw-r--r--regress/usr.bin/calendar/20160915.out18
-rw-r--r--regress/usr.bin/calendar/20160916.out36
-rw-r--r--regress/usr.bin/calendar/20160917.out18
-rw-r--r--regress/usr.bin/calendar/20160918.out18
-rw-r--r--regress/usr.bin/calendar/20160919.out18
-rw-r--r--regress/usr.bin/calendar/20160920.out18
-rw-r--r--regress/usr.bin/calendar/20160921.out18
-rw-r--r--regress/usr.bin/calendar/20160922.out18
-rw-r--r--regress/usr.bin/calendar/20160923.out36
-rw-r--r--regress/usr.bin/calendar/20160924.out18
-rw-r--r--regress/usr.bin/calendar/20160925.out18
-rw-r--r--regress/usr.bin/calendar/20160926.out18
-rw-r--r--regress/usr.bin/calendar/20160927.out18
-rw-r--r--regress/usr.bin/calendar/20160928.out18
-rw-r--r--regress/usr.bin/calendar/20160929.out18
-rw-r--r--regress/usr.bin/calendar/20160930.out53
-rw-r--r--regress/usr.bin/calendar/20161001.out30
-rw-r--r--regress/usr.bin/calendar/20161002.out28
-rw-r--r--regress/usr.bin/calendar/20161003.out30
-rw-r--r--regress/usr.bin/calendar/20161004.out32
-rw-r--r--regress/usr.bin/calendar/20161005.out29
-rw-r--r--regress/usr.bin/calendar/20161006.out26
-rw-r--r--regress/usr.bin/calendar/20161007.out52
-rw-r--r--regress/usr.bin/calendar/20161008.out26
-rw-r--r--regress/usr.bin/calendar/20161009.out26
-rw-r--r--regress/usr.bin/calendar/20161010.out26
-rw-r--r--regress/usr.bin/calendar/20161011.out26
-rw-r--r--regress/usr.bin/calendar/20161012.out26
-rw-r--r--regress/usr.bin/calendar/20161013.out26
-rw-r--r--regress/usr.bin/calendar/20161014.out52
-rw-r--r--regress/usr.bin/calendar/20161015.out26
-rw-r--r--regress/usr.bin/calendar/20161016.out26
-rw-r--r--regress/usr.bin/calendar/20161017.out26
-rw-r--r--regress/usr.bin/calendar/20161018.out26
-rw-r--r--regress/usr.bin/calendar/20161019.out26
-rw-r--r--regress/usr.bin/calendar/20161020.out26
-rw-r--r--regress/usr.bin/calendar/20161021.out52
-rw-r--r--regress/usr.bin/calendar/20161022.out26
-rw-r--r--regress/usr.bin/calendar/20161023.out26
-rw-r--r--regress/usr.bin/calendar/20161024.out26
-rw-r--r--regress/usr.bin/calendar/20161025.out26
-rw-r--r--regress/usr.bin/calendar/20161026.out26
-rw-r--r--regress/usr.bin/calendar/20161027.out26
-rw-r--r--regress/usr.bin/calendar/20161028.out52
-rw-r--r--regress/usr.bin/calendar/20161029.out26
-rw-r--r--regress/usr.bin/calendar/20161030.out26
-rw-r--r--regress/usr.bin/calendar/20161031.out29
-rw-r--r--regress/usr.bin/calendar/20161101.out30
-rw-r--r--regress/usr.bin/calendar/20161102.out30
-rw-r--r--regress/usr.bin/calendar/20161103.out32
-rw-r--r--regress/usr.bin/calendar/20161104.out55
-rw-r--r--regress/usr.bin/calendar/20161105.out26
-rw-r--r--regress/usr.bin/calendar/20161106.out26
-rw-r--r--regress/usr.bin/calendar/20161107.out26
-rw-r--r--regress/usr.bin/calendar/20161108.out26
-rw-r--r--regress/usr.bin/calendar/20161109.out26
-rw-r--r--regress/usr.bin/calendar/20161110.out26
-rw-r--r--regress/usr.bin/calendar/20161111.out52
-rw-r--r--regress/usr.bin/calendar/20161112.out26
-rw-r--r--regress/usr.bin/calendar/20161113.out26
-rw-r--r--regress/usr.bin/calendar/20161114.out26
-rw-r--r--regress/usr.bin/calendar/20161115.out26
-rw-r--r--regress/usr.bin/calendar/20161116.out26
-rw-r--r--regress/usr.bin/calendar/20161117.out26
-rw-r--r--regress/usr.bin/calendar/20161118.out52
-rw-r--r--regress/usr.bin/calendar/20161119.out26
-rw-r--r--regress/usr.bin/calendar/20161120.out26
-rw-r--r--regress/usr.bin/calendar/20161121.out26
-rw-r--r--regress/usr.bin/calendar/20161122.out26
-rw-r--r--regress/usr.bin/calendar/20161123.out26
-rw-r--r--regress/usr.bin/calendar/20161124.out26
-rw-r--r--regress/usr.bin/calendar/20161125.out52
-rw-r--r--regress/usr.bin/calendar/20161126.out26
-rw-r--r--regress/usr.bin/calendar/20161127.out26
-rw-r--r--regress/usr.bin/calendar/20161128.out26
-rw-r--r--regress/usr.bin/calendar/20161129.out26
-rw-r--r--regress/usr.bin/calendar/20161130.out29
-rw-r--r--regress/usr.bin/calendar/20161201.out30
-rw-r--r--regress/usr.bin/calendar/20161202.out60
-rw-r--r--regress/usr.bin/calendar/20161203.out30
-rw-r--r--regress/usr.bin/calendar/20161204.out32
-rw-r--r--regress/usr.bin/calendar/20161205.out29
-rw-r--r--regress/usr.bin/calendar/20161206.out26
-rw-r--r--regress/usr.bin/calendar/20161207.out26
-rw-r--r--regress/usr.bin/calendar/20161208.out26
-rw-r--r--regress/usr.bin/calendar/20161209.out52
-rw-r--r--regress/usr.bin/calendar/20161210.out26
-rw-r--r--regress/usr.bin/calendar/20161211.out26
-rw-r--r--regress/usr.bin/calendar/20161212.out26
-rw-r--r--regress/usr.bin/calendar/20161213.out26
-rw-r--r--regress/usr.bin/calendar/20161214.out26
-rw-r--r--regress/usr.bin/calendar/20161215.out26
-rw-r--r--regress/usr.bin/calendar/20161216.out52
-rw-r--r--regress/usr.bin/calendar/20161217.out26
-rw-r--r--regress/usr.bin/calendar/20161218.out26
-rw-r--r--regress/usr.bin/calendar/20161219.out26
-rw-r--r--regress/usr.bin/calendar/20161220.out26
-rw-r--r--regress/usr.bin/calendar/20161221.out26
-rw-r--r--regress/usr.bin/calendar/20161222.out26
-rw-r--r--regress/usr.bin/calendar/20161223.out52
-rw-r--r--regress/usr.bin/calendar/20161224.out26
-rw-r--r--regress/usr.bin/calendar/20161225.out26
-rw-r--r--regress/usr.bin/calendar/20161226.out26
-rw-r--r--regress/usr.bin/calendar/20161227.out26
-rw-r--r--regress/usr.bin/calendar/20161228.out26
-rw-r--r--regress/usr.bin/calendar/20161229.out26
-rw-r--r--regress/usr.bin/calendar/20161230.out56
-rw-r--r--regress/usr.bin/calendar/20161231.out29
-rw-r--r--regress/usr.bin/calendar/20170101.out24
-rw-r--r--regress/usr.bin/calendar/20170102.out22
-rw-r--r--regress/usr.bin/calendar/20170103.out24
-rw-r--r--regress/usr.bin/calendar/20170104.out26
-rw-r--r--regress/usr.bin/calendar/20170105.out26
-rw-r--r--regress/usr.bin/calendar/20170106.out52
-rw-r--r--regress/usr.bin/calendar/20170107.out26
-rw-r--r--regress/usr.bin/calendar/20170108.out26
-rw-r--r--regress/usr.bin/calendar/20170109.out26
-rw-r--r--regress/usr.bin/calendar/20170110.out26
-rw-r--r--regress/usr.bin/calendar/20170111.out26
-rw-r--r--regress/usr.bin/calendar/20170112.out26
-rw-r--r--regress/usr.bin/calendar/20170113.out52
-rw-r--r--regress/usr.bin/calendar/20170114.out26
-rw-r--r--regress/usr.bin/calendar/20170115.out26
-rw-r--r--regress/usr.bin/calendar/20170116.out26
-rw-r--r--regress/usr.bin/calendar/20170117.out26
-rw-r--r--regress/usr.bin/calendar/20170118.out26
-rw-r--r--regress/usr.bin/calendar/20170119.out26
-rw-r--r--regress/usr.bin/calendar/20170120.out52
-rw-r--r--regress/usr.bin/calendar/20170121.out26
-rw-r--r--regress/usr.bin/calendar/20170122.out26
-rw-r--r--regress/usr.bin/calendar/20170123.out26
-rw-r--r--regress/usr.bin/calendar/20170124.out26
-rw-r--r--regress/usr.bin/calendar/20170125.out26
-rw-r--r--regress/usr.bin/calendar/20170126.out26
-rw-r--r--regress/usr.bin/calendar/20170127.out52
-rw-r--r--regress/usr.bin/calendar/20170128.out26
-rw-r--r--regress/usr.bin/calendar/20170129.out26
-rw-r--r--regress/usr.bin/calendar/20170130.out26
-rw-r--r--regress/usr.bin/calendar/20170131.out31
-rw-r--r--regress/usr.bin/calendar/20170201.out34
-rw-r--r--regress/usr.bin/calendar/20170202.out32
-rw-r--r--regress/usr.bin/calendar/20170203.out58
-rw-r--r--regress/usr.bin/calendar/20170204.out29
-rw-r--r--regress/usr.bin/calendar/20170205.out26
-rw-r--r--regress/usr.bin/calendar/20170206.out26
-rw-r--r--regress/usr.bin/calendar/20170207.out26
-rw-r--r--regress/usr.bin/calendar/20170208.out26
-rw-r--r--regress/usr.bin/calendar/20170209.out26
-rw-r--r--regress/usr.bin/calendar/20170210.out52
-rw-r--r--regress/usr.bin/calendar/20170211.out26
-rw-r--r--regress/usr.bin/calendar/20170212.out26
-rw-r--r--regress/usr.bin/calendar/20170213.out26
-rw-r--r--regress/usr.bin/calendar/20170214.out26
-rw-r--r--regress/usr.bin/calendar/20170215.out26
-rw-r--r--regress/usr.bin/calendar/20170216.out26
-rw-r--r--regress/usr.bin/calendar/20170217.out52
-rw-r--r--regress/usr.bin/calendar/20170218.out26
-rw-r--r--regress/usr.bin/calendar/20170219.out26
-rw-r--r--regress/usr.bin/calendar/20170220.out26
-rw-r--r--regress/usr.bin/calendar/20170221.out26
-rw-r--r--regress/usr.bin/calendar/20170222.out26
-rw-r--r--regress/usr.bin/calendar/20170223.out26
-rw-r--r--regress/usr.bin/calendar/20170224.out52
-rw-r--r--regress/usr.bin/calendar/20170225.out26
-rw-r--r--regress/usr.bin/calendar/20170226.out26
-rw-r--r--regress/usr.bin/calendar/20170227.out26
-rw-r--r--regress/usr.bin/calendar/20170228.out33
-rw-r--r--regress/usr.bin/calendar/20170301.out34
-rw-r--r--regress/usr.bin/calendar/20170302.out28
-rw-r--r--regress/usr.bin/calendar/20170303.out62
-rw-r--r--regress/usr.bin/calendar/20170304.out32
-rw-r--r--regress/usr.bin/calendar/20170305.out32
-rw-r--r--regress/usr.bin/calendar/20170306.out32
-rw-r--r--regress/usr.bin/calendar/20170307.out29
-rw-r--r--regress/usr.bin/calendar/20170308.out26
-rw-r--r--regress/usr.bin/calendar/20170309.out26
-rw-r--r--regress/usr.bin/calendar/20170310.out52
-rw-r--r--regress/usr.bin/calendar/20170311.out26
-rw-r--r--regress/usr.bin/calendar/20170312.out26
-rw-r--r--regress/usr.bin/calendar/20170313.out26
-rw-r--r--regress/usr.bin/calendar/20170314.out26
-rw-r--r--regress/usr.bin/calendar/20170315.out26
-rw-r--r--regress/usr.bin/calendar/20170316.out26
-rw-r--r--regress/usr.bin/calendar/20170317.out52
-rw-r--r--regress/usr.bin/calendar/20170318.out26
-rw-r--r--regress/usr.bin/calendar/20170319.out26
-rw-r--r--regress/usr.bin/calendar/20170320.out26
-rw-r--r--regress/usr.bin/calendar/20170321.out26
-rw-r--r--regress/usr.bin/calendar/20170322.out26
-rw-r--r--regress/usr.bin/calendar/20170323.out26
-rw-r--r--regress/usr.bin/calendar/20170324.out52
-rw-r--r--regress/usr.bin/calendar/20170325.out26
-rw-r--r--regress/usr.bin/calendar/20170326.out26
-rw-r--r--regress/usr.bin/calendar/20170327.out26
-rw-r--r--regress/usr.bin/calendar/20170328.out26
-rw-r--r--regress/usr.bin/calendar/20170329.out26
-rw-r--r--regress/usr.bin/calendar/20170330.out26
-rw-r--r--regress/usr.bin/calendar/20170331.out59
-rw-r--r--regress/usr.bin/calendar/20170401.out30
-rw-r--r--regress/usr.bin/calendar/20170402.out30
-rw-r--r--regress/usr.bin/calendar/20170403.out32
-rw-r--r--regress/usr.bin/calendar/20170404.out29
-rw-r--r--regress/usr.bin/calendar/20170405.out26
-rw-r--r--regress/usr.bin/calendar/20170406.out26
-rw-r--r--regress/usr.bin/calendar/20170407.out52
-rw-r--r--regress/usr.bin/calendar/20170408.out26
-rw-r--r--regress/usr.bin/calendar/20170409.out26
-rw-r--r--regress/usr.bin/calendar/20170410.out26
-rw-r--r--regress/usr.bin/calendar/20170411.out26
-rw-r--r--regress/usr.bin/calendar/20170412.out26
-rw-r--r--regress/usr.bin/calendar/20170413.out27
-rw-r--r--regress/usr.bin/calendar/20170414.out55
-rw-r--r--regress/usr.bin/calendar/20170415.out28
-rw-r--r--regress/usr.bin/calendar/20170416.out28
-rw-r--r--regress/usr.bin/calendar/20170417.out26
-rw-r--r--regress/usr.bin/calendar/20170418.out26
-rw-r--r--regress/usr.bin/calendar/20170419.out26
-rw-r--r--regress/usr.bin/calendar/20170420.out26
-rw-r--r--regress/usr.bin/calendar/20170421.out52
-rw-r--r--regress/usr.bin/calendar/20170422.out26
-rw-r--r--regress/usr.bin/calendar/20170423.out26
-rw-r--r--regress/usr.bin/calendar/20170424.out26
-rw-r--r--regress/usr.bin/calendar/20170425.out26
-rw-r--r--regress/usr.bin/calendar/20170426.out26
-rw-r--r--regress/usr.bin/calendar/20170427.out26
-rw-r--r--regress/usr.bin/calendar/20170428.out55
-rw-r--r--regress/usr.bin/calendar/20170429.out26
-rw-r--r--regress/usr.bin/calendar/20170430.out29
-rw-r--r--regress/usr.bin/calendar/20170501.out30
-rw-r--r--regress/usr.bin/calendar/20170502.out28
-rw-r--r--regress/usr.bin/calendar/20170503.out30
-rw-r--r--regress/usr.bin/calendar/20170504.out32
-rw-r--r--regress/usr.bin/calendar/20170505.out55
-rw-r--r--regress/usr.bin/calendar/20170506.out26
-rw-r--r--regress/usr.bin/calendar/20170507.out26
-rw-r--r--regress/usr.bin/calendar/20170508.out26
-rw-r--r--regress/usr.bin/calendar/20170509.out26
-rw-r--r--regress/usr.bin/calendar/20170510.out26
-rw-r--r--regress/usr.bin/calendar/20170511.out26
-rw-r--r--regress/usr.bin/calendar/20170512.out52
-rw-r--r--regress/usr.bin/calendar/20170513.out26
-rw-r--r--regress/usr.bin/calendar/20170514.out26
-rw-r--r--regress/usr.bin/calendar/20170515.out26
-rw-r--r--regress/usr.bin/calendar/20170516.out26
-rw-r--r--regress/usr.bin/calendar/20170517.out26
-rw-r--r--regress/usr.bin/calendar/20170518.out26
-rw-r--r--regress/usr.bin/calendar/20170519.out52
-rw-r--r--regress/usr.bin/calendar/20170520.out26
-rw-r--r--regress/usr.bin/calendar/20170521.out26
-rw-r--r--regress/usr.bin/calendar/20170522.out26
-rw-r--r--regress/usr.bin/calendar/20170523.out26
-rw-r--r--regress/usr.bin/calendar/20170524.out26
-rw-r--r--regress/usr.bin/calendar/20170525.out26
-rw-r--r--regress/usr.bin/calendar/20170526.out52
-rw-r--r--regress/usr.bin/calendar/20170527.out26
-rw-r--r--regress/usr.bin/calendar/20170528.out26
-rw-r--r--regress/usr.bin/calendar/20170529.out26
-rw-r--r--regress/usr.bin/calendar/20170530.out26
-rw-r--r--regress/usr.bin/calendar/20170531.out29
-rw-r--r--regress/usr.bin/calendar/20170601.out30
-rw-r--r--regress/usr.bin/calendar/20170602.out59
-rw-r--r--regress/usr.bin/calendar/20170603.out32
-rw-r--r--regress/usr.bin/calendar/20170604.out29
-rw-r--r--regress/usr.bin/calendar/20170605.out26
-rw-r--r--regress/usr.bin/calendar/20170606.out26
-rw-r--r--regress/usr.bin/calendar/20170607.out26
-rw-r--r--regress/usr.bin/calendar/20170608.out26
-rw-r--r--regress/usr.bin/calendar/20170609.out52
-rw-r--r--regress/usr.bin/calendar/20170610.out26
-rw-r--r--regress/usr.bin/calendar/20170611.out26
-rw-r--r--regress/usr.bin/calendar/20170612.out26
-rw-r--r--regress/usr.bin/calendar/20170613.out26
-rw-r--r--regress/usr.bin/calendar/20170614.out26
-rw-r--r--regress/usr.bin/calendar/20170615.out26
-rw-r--r--regress/usr.bin/calendar/20170616.out52
-rw-r--r--regress/usr.bin/calendar/20170617.out26
-rw-r--r--regress/usr.bin/calendar/20170618.out26
-rw-r--r--regress/usr.bin/calendar/20170619.out26
-rw-r--r--regress/usr.bin/calendar/20170620.out26
-rw-r--r--regress/usr.bin/calendar/20170621.out26
-rw-r--r--regress/usr.bin/calendar/20170622.out26
-rw-r--r--regress/usr.bin/calendar/20170623.out52
-rw-r--r--regress/usr.bin/calendar/20170624.out26
-rw-r--r--regress/usr.bin/calendar/20170625.out26
-rw-r--r--regress/usr.bin/calendar/20170626.out26
-rw-r--r--regress/usr.bin/calendar/20170627.out26
-rw-r--r--regress/usr.bin/calendar/20170628.out26
-rw-r--r--regress/usr.bin/calendar/20170629.out26
-rw-r--r--regress/usr.bin/calendar/20170630.out57
-rw-r--r--regress/usr.bin/calendar/20170701.out30
-rw-r--r--regress/usr.bin/calendar/20170702.out28
-rw-r--r--regress/usr.bin/calendar/20170703.out30
-rw-r--r--regress/usr.bin/calendar/20170704.out32
-rw-r--r--regress/usr.bin/calendar/20170705.out29
-rw-r--r--regress/usr.bin/calendar/20170706.out26
-rw-r--r--regress/usr.bin/calendar/20170707.out52
-rw-r--r--regress/usr.bin/calendar/20170708.out26
-rw-r--r--regress/usr.bin/calendar/20170709.out26
-rw-r--r--regress/usr.bin/calendar/20170710.out26
-rw-r--r--regress/usr.bin/calendar/20170711.out26
-rw-r--r--regress/usr.bin/calendar/20170712.out26
-rw-r--r--regress/usr.bin/calendar/20170713.out26
-rw-r--r--regress/usr.bin/calendar/20170714.out52
-rw-r--r--regress/usr.bin/calendar/20170715.out26
-rw-r--r--regress/usr.bin/calendar/20170716.out26
-rw-r--r--regress/usr.bin/calendar/20170717.out26
-rw-r--r--regress/usr.bin/calendar/20170718.out26
-rw-r--r--regress/usr.bin/calendar/20170719.out26
-rw-r--r--regress/usr.bin/calendar/20170720.out26
-rw-r--r--regress/usr.bin/calendar/20170721.out52
-rw-r--r--regress/usr.bin/calendar/20170722.out26
-rw-r--r--regress/usr.bin/calendar/20170723.out26
-rw-r--r--regress/usr.bin/calendar/20170724.out26
-rw-r--r--regress/usr.bin/calendar/20170725.out26
-rw-r--r--regress/usr.bin/calendar/20170726.out26
-rw-r--r--regress/usr.bin/calendar/20170727.out26
-rw-r--r--regress/usr.bin/calendar/20170728.out52
-rw-r--r--regress/usr.bin/calendar/20170729.out26
-rw-r--r--regress/usr.bin/calendar/20170730.out26
-rw-r--r--regress/usr.bin/calendar/20170731.out25
-rw-r--r--regress/usr.bin/calendar/20170801.out22
-rw-r--r--regress/usr.bin/calendar/20170802.out20
-rw-r--r--regress/usr.bin/calendar/20170803.out22
-rw-r--r--regress/usr.bin/calendar/20170804.out39
-rw-r--r--regress/usr.bin/calendar/20170805.out18
-rw-r--r--regress/usr.bin/calendar/20170806.out18
-rw-r--r--regress/usr.bin/calendar/20170807.out18
-rw-r--r--regress/usr.bin/calendar/20170808.out18
-rw-r--r--regress/usr.bin/calendar/20170809.out18
-rw-r--r--regress/usr.bin/calendar/20170810.out18
-rw-r--r--regress/usr.bin/calendar/20170811.out36
-rw-r--r--regress/usr.bin/calendar/20170812.out18
-rw-r--r--regress/usr.bin/calendar/20170813.out18
-rw-r--r--regress/usr.bin/calendar/20170814.out18
-rw-r--r--regress/usr.bin/calendar/20170815.out18
-rw-r--r--regress/usr.bin/calendar/20170816.out18
-rw-r--r--regress/usr.bin/calendar/20170817.out18
-rw-r--r--regress/usr.bin/calendar/20170818.out36
-rw-r--r--regress/usr.bin/calendar/20170819.out18
-rw-r--r--regress/usr.bin/calendar/20170820.out18
-rw-r--r--regress/usr.bin/calendar/20170821.out18
-rw-r--r--regress/usr.bin/calendar/20170822.out18
-rw-r--r--regress/usr.bin/calendar/20170823.out18
-rw-r--r--regress/usr.bin/calendar/20170824.out18
-rw-r--r--regress/usr.bin/calendar/20170825.out36
-rw-r--r--regress/usr.bin/calendar/20170826.out18
-rw-r--r--regress/usr.bin/calendar/20170827.out18
-rw-r--r--regress/usr.bin/calendar/20170828.out18
-rw-r--r--regress/usr.bin/calendar/20170829.out18
-rw-r--r--regress/usr.bin/calendar/20170830.out18
-rw-r--r--regress/usr.bin/calendar/20170831.out21
-rw-r--r--regress/usr.bin/calendar/20170901.out46
-rw-r--r--regress/usr.bin/calendar/20170902.out22
-rw-r--r--regress/usr.bin/calendar/20170903.out24
-rw-r--r--regress/usr.bin/calendar/20170904.out21
-rw-r--r--regress/usr.bin/calendar/20170905.out18
-rw-r--r--regress/usr.bin/calendar/20170906.out18
-rw-r--r--regress/usr.bin/calendar/20170907.out18
-rw-r--r--regress/usr.bin/calendar/20170908.out36
-rw-r--r--regress/usr.bin/calendar/20170909.out18
-rw-r--r--regress/usr.bin/calendar/20170910.out18
-rw-r--r--regress/usr.bin/calendar/20170911.out18
-rw-r--r--regress/usr.bin/calendar/20170912.out18
-rw-r--r--regress/usr.bin/calendar/20170913.out18
-rw-r--r--regress/usr.bin/calendar/20170914.out18
-rw-r--r--regress/usr.bin/calendar/20170915.out36
-rw-r--r--regress/usr.bin/calendar/20170916.out18
-rw-r--r--regress/usr.bin/calendar/20170917.out18
-rw-r--r--regress/usr.bin/calendar/20170918.out18
-rw-r--r--regress/usr.bin/calendar/20170919.out18
-rw-r--r--regress/usr.bin/calendar/20170920.out18
-rw-r--r--regress/usr.bin/calendar/20170921.out18
-rw-r--r--regress/usr.bin/calendar/20170922.out36
-rw-r--r--regress/usr.bin/calendar/20170923.out18
-rw-r--r--regress/usr.bin/calendar/20170924.out18
-rw-r--r--regress/usr.bin/calendar/20170925.out18
-rw-r--r--regress/usr.bin/calendar/20170926.out18
-rw-r--r--regress/usr.bin/calendar/20170927.out18
-rw-r--r--regress/usr.bin/calendar/20170928.out18
-rw-r--r--regress/usr.bin/calendar/20170929.out48
-rw-r--r--regress/usr.bin/calendar/20170930.out25
-rw-r--r--regress/usr.bin/calendar/20171001.out30
-rw-r--r--regress/usr.bin/calendar/20171002.out28
-rw-r--r--regress/usr.bin/calendar/20171003.out30
-rw-r--r--regress/usr.bin/calendar/20171004.out32
-rw-r--r--regress/usr.bin/calendar/20171005.out29
-rw-r--r--regress/usr.bin/calendar/20171006.out52
-rw-r--r--regress/usr.bin/calendar/20171007.out26
-rw-r--r--regress/usr.bin/calendar/20171008.out26
-rw-r--r--regress/usr.bin/calendar/20171009.out26
-rw-r--r--regress/usr.bin/calendar/20171010.out26
-rw-r--r--regress/usr.bin/calendar/20171011.out26
-rw-r--r--regress/usr.bin/calendar/20171012.out26
-rw-r--r--regress/usr.bin/calendar/20171013.out52
-rw-r--r--regress/usr.bin/calendar/20171014.out26
-rw-r--r--regress/usr.bin/calendar/20171015.out26
-rw-r--r--regress/usr.bin/calendar/20171016.out26
-rw-r--r--regress/usr.bin/calendar/20171017.out26
-rw-r--r--regress/usr.bin/calendar/20171018.out26
-rw-r--r--regress/usr.bin/calendar/20171019.out26
-rw-r--r--regress/usr.bin/calendar/20171020.out52
-rw-r--r--regress/usr.bin/calendar/20171021.out26
-rw-r--r--regress/usr.bin/calendar/20171022.out26
-rw-r--r--regress/usr.bin/calendar/20171023.out26
-rw-r--r--regress/usr.bin/calendar/20171024.out26
-rw-r--r--regress/usr.bin/calendar/20171025.out26
-rw-r--r--regress/usr.bin/calendar/20171026.out26
-rw-r--r--regress/usr.bin/calendar/20171027.out52
-rw-r--r--regress/usr.bin/calendar/20171028.out26
-rw-r--r--regress/usr.bin/calendar/20171029.out26
-rw-r--r--regress/usr.bin/calendar/20171030.out26
-rw-r--r--regress/usr.bin/calendar/20171031.out29
-rw-r--r--regress/usr.bin/calendar/20171101.out30
-rw-r--r--regress/usr.bin/calendar/20171102.out30
-rw-r--r--regress/usr.bin/calendar/20171103.out58
-rw-r--r--regress/usr.bin/calendar/20171104.out29
-rw-r--r--regress/usr.bin/calendar/20171105.out26
-rw-r--r--regress/usr.bin/calendar/20171106.out26
-rw-r--r--regress/usr.bin/calendar/20171107.out26
-rw-r--r--regress/usr.bin/calendar/20171108.out26
-rw-r--r--regress/usr.bin/calendar/20171109.out26
-rw-r--r--regress/usr.bin/calendar/20171110.out52
-rw-r--r--regress/usr.bin/calendar/20171111.out26
-rw-r--r--regress/usr.bin/calendar/20171112.out26
-rw-r--r--regress/usr.bin/calendar/20171113.out26
-rw-r--r--regress/usr.bin/calendar/20171114.out26
-rw-r--r--regress/usr.bin/calendar/20171115.out26
-rw-r--r--regress/usr.bin/calendar/20171116.out26
-rw-r--r--regress/usr.bin/calendar/20171117.out52
-rw-r--r--regress/usr.bin/calendar/20171118.out26
-rw-r--r--regress/usr.bin/calendar/20171119.out26
-rw-r--r--regress/usr.bin/calendar/20171120.out26
-rw-r--r--regress/usr.bin/calendar/20171121.out26
-rw-r--r--regress/usr.bin/calendar/20171122.out26
-rw-r--r--regress/usr.bin/calendar/20171123.out26
-rw-r--r--regress/usr.bin/calendar/20171124.out52
-rw-r--r--regress/usr.bin/calendar/20171125.out26
-rw-r--r--regress/usr.bin/calendar/20171126.out26
-rw-r--r--regress/usr.bin/calendar/20171127.out26
-rw-r--r--regress/usr.bin/calendar/20171128.out26
-rw-r--r--regress/usr.bin/calendar/20171129.out26
-rw-r--r--regress/usr.bin/calendar/20171130.out29
-rw-r--r--regress/usr.bin/calendar/20171201.out60
-rw-r--r--regress/usr.bin/calendar/20171202.out28
-rw-r--r--regress/usr.bin/calendar/20171203.out30
-rw-r--r--regress/usr.bin/calendar/20171204.out32
-rw-r--r--regress/usr.bin/calendar/20171205.out29
-rw-r--r--regress/usr.bin/calendar/20171206.out26
-rw-r--r--regress/usr.bin/calendar/20171207.out26
-rw-r--r--regress/usr.bin/calendar/20171208.out52
-rw-r--r--regress/usr.bin/calendar/20171209.out26
-rw-r--r--regress/usr.bin/calendar/20171210.out26
-rw-r--r--regress/usr.bin/calendar/20171211.out26
-rw-r--r--regress/usr.bin/calendar/20171212.out26
-rw-r--r--regress/usr.bin/calendar/20171213.out26
-rw-r--r--regress/usr.bin/calendar/20171214.out26
-rw-r--r--regress/usr.bin/calendar/20171215.out52
-rw-r--r--regress/usr.bin/calendar/20171216.out26
-rw-r--r--regress/usr.bin/calendar/20171217.out26
-rw-r--r--regress/usr.bin/calendar/20171218.out26
-rw-r--r--regress/usr.bin/calendar/20171219.out26
-rw-r--r--regress/usr.bin/calendar/20171220.out26
-rw-r--r--regress/usr.bin/calendar/20171221.out26
-rw-r--r--regress/usr.bin/calendar/20171222.out52
-rw-r--r--regress/usr.bin/calendar/20171223.out26
-rw-r--r--regress/usr.bin/calendar/20171224.out26
-rw-r--r--regress/usr.bin/calendar/20171225.out26
-rw-r--r--regress/usr.bin/calendar/20171226.out26
-rw-r--r--regress/usr.bin/calendar/20171227.out26
-rw-r--r--regress/usr.bin/calendar/20171228.out26
-rw-r--r--regress/usr.bin/calendar/20171229.out55
-rw-r--r--regress/usr.bin/calendar/20171230.out26
-rw-r--r--regress/usr.bin/calendar/20171231.out29
-rw-r--r--regress/usr.bin/calendar/Makefile13
-rw-r--r--regress/usr.bin/calendar/in2661
-rw-r--r--regress/usr.bin/colrm/Makefile8
-rw-r--r--regress/usr.bin/colrm/colrm.sh118
-rw-r--r--regress/usr.bin/column/Makefile6
-rw-r--r--regress/usr.bin/column/column.sh64
-rw-r--r--regress/usr.bin/cut/Makefile8
-rw-r--r--regress/usr.bin/cut/cut.sh90
-rw-r--r--regress/usr.bin/dc/Makefile53
-rw-r--r--regress/usr.bin/dc/t1.in45
-rw-r--r--regress/usr.bin/dc/t1.out136
-rw-r--r--regress/usr.bin/dc/t10.in11
-rw-r--r--regress/usr.bin/dc/t10.out2
-rw-r--r--regress/usr.bin/dc/t11.in8
-rw-r--r--regress/usr.bin/dc/t11.out6
-rw-r--r--regress/usr.bin/dc/t12.in9
-rw-r--r--regress/usr.bin/dc/t12.out14
-rw-r--r--regress/usr.bin/dc/t13.in15
-rw-r--r--regress/usr.bin/dc/t13.out1
-rw-r--r--regress/usr.bin/dc/t14.in78
-rw-r--r--regress/usr.bin/dc/t14.out7
-rw-r--r--regress/usr.bin/dc/t15.in55
-rw-r--r--regress/usr.bin/dc/t15.out3
-rw-r--r--regress/usr.bin/dc/t16.in48
-rw-r--r--regress/usr.bin/dc/t16.out2
-rw-r--r--regress/usr.bin/dc/t17.in3
-rw-r--r--regress/usr.bin/dc/t17.out2
-rw-r--r--regress/usr.bin/dc/t18.in7
-rw-r--r--regress/usr.bin/dc/t18.out3
-rw-r--r--regress/usr.bin/dc/t19.in569
-rw-r--r--regress/usr.bin/dc/t19.out283
-rw-r--r--regress/usr.bin/dc/t2.in3
-rw-r--r--regress/usr.bin/dc/t2.out4
-rw-r--r--regress/usr.bin/dc/t20.in100
-rw-r--r--regress/usr.bin/dc/t20.out31
-rw-r--r--regress/usr.bin/dc/t21.in64
-rw-r--r--regress/usr.bin/dc/t21.out8
-rw-r--r--regress/usr.bin/dc/t22.out4007
-rw-r--r--regress/usr.bin/dc/t23.in7
-rw-r--r--regress/usr.bin/dc/t23.out38
-rw-r--r--regress/usr.bin/dc/t24.in8
-rw-r--r--regress/usr.bin/dc/t24.out15
-rw-r--r--regress/usr.bin/dc/t25.in21
-rw-r--r--regress/usr.bin/dc/t25.out19
-rw-r--r--regress/usr.bin/dc/t26.in26
-rw-r--r--regress/usr.bin/dc/t26.out22
-rw-r--r--regress/usr.bin/dc/t27.in1
-rw-r--r--regress/usr.bin/dc/t27.out0
-rw-r--r--regress/usr.bin/dc/t3.in28
-rw-r--r--regress/usr.bin/dc/t3.out297
-rw-r--r--regress/usr.bin/dc/t4.in2
-rw-r--r--regress/usr.bin/dc/t4.out1
-rw-r--r--regress/usr.bin/dc/t5.in11
-rw-r--r--regress/usr.bin/dc/t5.out2
-rw-r--r--regress/usr.bin/dc/t6.in3
-rw-r--r--regress/usr.bin/dc/t6.out2
-rw-r--r--regress/usr.bin/dc/t7.in5
-rw-r--r--regress/usr.bin/dc/t7.out36
-rw-r--r--regress/usr.bin/dc/t8.in17
-rw-r--r--regress/usr.bin/dc/t8.out10
-rw-r--r--regress/usr.bin/dc/t9.in24
-rw-r--r--regress/usr.bin/dc/t9.out707
-rw-r--r--regress/usr.bin/diff/Makefile70
-rw-r--r--regress/usr.bin/diff/t1.10
-rw-r--r--regress/usr.bin/diff/t1.20
-rw-r--r--regress/usr.bin/diff/t10.11
-rw-r--r--regress/usr.bin/diff/t10.21
-rw-r--r--regress/usr.bin/diff/t11.11003
-rw-r--r--regress/usr.bin/diff/t11.2908
-rw-r--r--regress/usr.bin/diff/t12.110
-rw-r--r--regress/usr.bin/diff/t12.212
-rw-r--r--regress/usr.bin/diff/t13.111
-rw-r--r--regress/usr.bin/diff/t13.29
-rw-r--r--regress/usr.bin/diff/t14.12
-rw-r--r--regress/usr.bin/diff/t14.23
-rw-r--r--regress/usr.bin/diff/t15.13
-rw-r--r--regress/usr.bin/diff/t15.22
-rw-r--r--regress/usr.bin/diff/t2.125
-rw-r--r--regress/usr.bin/diff/t2.225
-rw-r--r--regress/usr.bin/diff/t3.10
-rw-r--r--regress/usr.bin/diff/t3.225
-rw-r--r--regress/usr.bin/diff/t4.125
-rw-r--r--regress/usr.bin/diff/t4.20
-rw-r--r--regress/usr.bin/diff/t5.110
-rw-r--r--regress/usr.bin/diff/t5.210
-rw-r--r--regress/usr.bin/diff/t6.19
-rw-r--r--regress/usr.bin/diff/t6.29
-rw-r--r--regress/usr.bin/diff/t7.19
-rw-r--r--regress/usr.bin/diff/t7.29
-rw-r--r--regress/usr.bin/diff/t8.1392
-rw-r--r--regress/usr.bin/diff/t8.2616
-rw-r--r--regress/usr.bin/diff/t9.12045
-rw-r--r--regress/usr.bin/diff/t9.23216
-rw-r--r--regress/usr.bin/diff/torture/torture130
-rw-r--r--regress/usr.bin/diff3/Makefile9
-rw-r--r--regress/usr.bin/dirname/Makefile7
-rw-r--r--regress/usr.bin/dirname/dirname.sh27
-rw-r--r--regress/usr.bin/file/Makefile25
-rw-r--r--regress/usr.bin/file/t0.in0
-rw-r--r--regress/usr.bin/file/t0.out1
-rw-r--r--regress/usr.bin/file/t1.in1
-rw-r--r--regress/usr.bin/file/t1.out1
-rw-r--r--regress/usr.bin/file/t10.inbin0 -> 44 bytes
-rw-r--r--regress/usr.bin/file/t10.out1
-rw-r--r--regress/usr.bin/file/t11.inbin0 -> 26 bytes
-rw-r--r--regress/usr.bin/file/t11.out1
-rw-r--r--regress/usr.bin/file/t15.inbin0 -> 10240 bytes
-rw-r--r--regress/usr.bin/file/t15.out1
-rw-r--r--regress/usr.bin/file/t17.in5
-rw-r--r--regress/usr.bin/file/t17.out1
-rw-r--r--regress/usr.bin/file/t18.inbin0 -> 64 bytes
-rw-r--r--regress/usr.bin/file/t18.out1
-rw-r--r--regress/usr.bin/file/t19.inbin0 -> 64 bytes
-rw-r--r--regress/usr.bin/file/t19.out1
-rw-r--r--regress/usr.bin/file/t2.in1
-rw-r--r--regress/usr.bin/file/t2.out1
-rw-r--r--regress/usr.bin/file/t20.in1
-rw-r--r--regress/usr.bin/file/t20.out1
-rw-r--r--regress/usr.bin/file/t21.in1
-rw-r--r--regress/usr.bin/file/t21.out1
-rw-r--r--regress/usr.bin/file/t22.in1
-rw-r--r--regress/usr.bin/file/t22.out1
-rw-r--r--regress/usr.bin/file/t3.in1
-rw-r--r--regress/usr.bin/file/t3.out1
-rw-r--r--regress/usr.bin/file/t30.inbin0 -> 4 bytes
-rw-r--r--regress/usr.bin/file/t30.out1
-rw-r--r--regress/usr.bin/file/t31.in1
-rw-r--r--regress/usr.bin/file/t31.out1
-rw-r--r--regress/usr.bin/file/t32.in3
-rw-r--r--regress/usr.bin/file/t32.out1
-rw-r--r--regress/usr.bin/file/t33.inbin0 -> 16 bytes
-rw-r--r--regress/usr.bin/file/t33.out1
-rw-r--r--regress/usr.bin/file/t4.in1
-rw-r--r--regress/usr.bin/file/t4.out1
-rw-r--r--regress/usr.bin/file/t5.in1
-rw-r--r--regress/usr.bin/file/t5.out1
-rw-r--r--regress/usr.bin/file/t6.in1
-rw-r--r--regress/usr.bin/file/t6.out1
-rw-r--r--regress/usr.bin/file/t7.in1
-rw-r--r--regress/usr.bin/file/t7.out1
-rw-r--r--regress/usr.bin/file/t8.in1
-rw-r--r--regress/usr.bin/file/t8.out1
-rw-r--r--regress/usr.bin/file/t9.inbin0 -> 552 bytes
-rw-r--r--regress/usr.bin/file/t9.out1
-rw-r--r--regress/usr.bin/fmt/Makefile6
-rw-r--r--regress/usr.bin/fmt/fmt.sh128
-rw-r--r--regress/usr.bin/fold/Makefile6
-rw-r--r--regress/usr.bin/fold/fold.sh110
-rw-r--r--regress/usr.bin/grep/Makefile109
-rw-r--r--regress/usr.bin/grep/in5
-rw-r--r--regress/usr.bin/grep/t1.out1
-rw-r--r--regress/usr.bin/grep/t11.out3
-rw-r--r--regress/usr.bin/grep/t13.in24
-rw-r--r--regress/usr.bin/grep/t13.out24
-rw-r--r--regress/usr.bin/grep/t14.in51
-rw-r--r--regress/usr.bin/grep/t15.in4
-rw-r--r--regress/usr.bin/grep/t15.out2
-rw-r--r--regress/usr.bin/grep/t17.in1
-rw-r--r--regress/usr.bin/grep/t17.out1
-rw-r--r--regress/usr.bin/grep/t19.in6
-rw-r--r--regress/usr.bin/grep/t19.out2
-rw-r--r--regress/usr.bin/grep/t21.out0
-rw-r--r--regress/usr.bin/grep/t22.in512
-rw-r--r--regress/usr.bin/grep/t23.in7
-rw-r--r--regress/usr.bin/grep/t23.out5
-rw-r--r--regress/usr.bin/grep/t25.in1
-rw-r--r--regress/usr.bin/grep/t25.out8
-rw-r--r--regress/usr.bin/grep/t26.out1
-rw-r--r--regress/usr.bin/grep/t3.out1
-rw-r--r--regress/usr.bin/grep/t4.out1
-rw-r--r--regress/usr.bin/grep/t5.out1
-rw-r--r--regress/usr.bin/grep/t6.out1
-rw-r--r--regress/usr.bin/grep/t7.out1
-rw-r--r--regress/usr.bin/jot/Makefile13
-rw-r--r--regress/usr.bin/jot/regress.ascii.outbin0 -> 256 bytes
-rw-r--r--regress/usr.bin/jot/regress.block.out512
-rw-r--r--regress/usr.bin/jot/regress.dbbd.out1
-rw-r--r--regress/usr.bin/jot/regress.dbbh.out1
-rw-r--r--regress/usr.bin/jot/regress.dddd.out100
-rw-r--r--regress/usr.bin/jot/regress.dddh.out100
-rw-r--r--regress/usr.bin/jot/regress.ddhd.out100
-rw-r--r--regress/usr.bin/jot/regress.ddhd2.out100
-rw-r--r--regress/usr.bin/jot/regress.ddhd3.out100
-rw-r--r--regress/usr.bin/jot/regress.ddhh.out100
-rw-r--r--regress/usr.bin/jot/regress.ddhh2.out100
-rw-r--r--regress/usr.bin/jot/regress.ddhh3.out100
-rw-r--r--regress/usr.bin/jot/regress.dhdd.out100
-rw-r--r--regress/usr.bin/jot/regress.dhdd3.out100
-rw-r--r--regress/usr.bin/jot/regress.dhdh.out100
-rw-r--r--regress/usr.bin/jot/regress.dhdh3.out100
-rw-r--r--regress/usr.bin/jot/regress.dhhd.out101
-rw-r--r--regress/usr.bin/jot/regress.dhhd2.out141
-rw-r--r--regress/usr.bin/jot/regress.dhhd3.out101
-rw-r--r--regress/usr.bin/jot/regress.dhhd4.out141
-rw-r--r--regress/usr.bin/jot/regress.dhhh.out51
-rw-r--r--regress/usr.bin/jot/regress.dhhh2.out71
-rw-r--r--regress/usr.bin/jot/regress.dhhh3.out51
-rw-r--r--regress/usr.bin/jot/regress.dhhh4.out71
-rw-r--r--regress/usr.bin/jot/regress.ed.out30
-rw-r--r--regress/usr.bin/jot/regress.grep.out1
-rw-r--r--regress/usr.bin/jot/regress.hbbd.out15
-rw-r--r--regress/usr.bin/jot/regress.hbbh.out1
-rw-r--r--regress/usr.bin/jot/regress.hddd.out50
-rw-r--r--regress/usr.bin/jot/regress.hddd2.out30
-rw-r--r--regress/usr.bin/jot/regress.hddh.out50
-rw-r--r--regress/usr.bin/jot/regress.hddh2.out30
-rw-r--r--regress/usr.bin/jot/regress.hdhd.out50
-rw-r--r--regress/usr.bin/jot/regress.hdhd2.out30
-rw-r--r--regress/usr.bin/jot/regress.hdhd3.out50
-rw-r--r--regress/usr.bin/jot/regress.hdhd4.out30
-rw-r--r--regress/usr.bin/jot/regress.hdhh.out50
-rw-r--r--regress/usr.bin/jot/regress.hdhh2.out30
-rw-r--r--regress/usr.bin/jot/regress.hdhh3.out50
-rw-r--r--regress/usr.bin/jot/regress.hdhh4.out30
-rw-r--r--regress/usr.bin/jot/regress.hhdd.out50
-rw-r--r--regress/usr.bin/jot/regress.hhdd2.out30
-rw-r--r--regress/usr.bin/jot/regress.hhdd3.out50
-rw-r--r--regress/usr.bin/jot/regress.hhdd4.out30
-rw-r--r--regress/usr.bin/jot/regress.hhdh.out50
-rw-r--r--regress/usr.bin/jot/regress.hhdh2.out30
-rw-r--r--regress/usr.bin/jot/regress.hhdh3.out50
-rw-r--r--regress/usr.bin/jot/regress.hhdh4.out30
-rw-r--r--regress/usr.bin/jot/regress.hhhd.out50
-rw-r--r--regress/usr.bin/jot/regress.hhhd2.out30
-rw-r--r--regress/usr.bin/jot/regress.hhhd3.out50
-rw-r--r--regress/usr.bin/jot/regress.hhhd4.out30
-rw-r--r--regress/usr.bin/jot/regress.hhhh.out50
-rw-r--r--regress/usr.bin/jot/regress.hhhh2.out30
-rw-r--r--regress/usr.bin/jot/regress.hhhh3.out50
-rw-r--r--regress/usr.bin/jot/regress.hhhh4.out30
-rw-r--r--regress/usr.bin/jot/regress.m468
-rw-r--r--regress/usr.bin/jot/regress.man1.out6
-rw-r--r--regress/usr.bin/jot/regress.man10.out1
-rw-r--r--regress/usr.bin/jot/regress.man2.out6
-rw-r--r--regress/usr.bin/jot/regress.man3.out6
-rw-r--r--regress/usr.bin/jot/regress.man4.out6
-rw-r--r--regress/usr.bin/jot/regress.man5.out21
-rw-r--r--regress/usr.bin/jot/regress.man6.out26
-rw-r--r--regress/usr.bin/jot/regress.man7.out30
-rw-r--r--regress/usr.bin/jot/regress.man8.out512
-rw-r--r--regress/usr.bin/jot/regress.man9.out1
-rw-r--r--regress/usr.bin/jot/regress.n21.out21
-rw-r--r--regress/usr.bin/jot/regress.rand1.out10
-rw-r--r--regress/usr.bin/jot/regress.rand2.out10
-rw-r--r--regress/usr.bin/jot/regress.rdhhh.out1
-rw-r--r--regress/usr.bin/jot/regress.rhdhh.out1
-rw-r--r--regress/usr.bin/jot/regress.sh127
-rw-r--r--regress/usr.bin/jot/regress.stutter.out19
-rw-r--r--regress/usr.bin/jot/regress.stutter2.out20
-rw-r--r--regress/usr.bin/jot/regress.tabs.out1
-rw-r--r--regress/usr.bin/jot/regress.wX1.out10
-rw-r--r--regress/usr.bin/jot/regress.wXl.out10
-rw-r--r--regress/usr.bin/jot/regress.wc.out10
-rw-r--r--regress/usr.bin/jot/regress.wdl.out0
-rw-r--r--regress/usr.bin/jot/regress.wdn.out10
-rw-r--r--regress/usr.bin/jot/regress.we.out10
-rw-r--r--regress/usr.bin/jot/regress.wf.out10
-rw-r--r--regress/usr.bin/jot/regress.wg.out10
-rw-r--r--regress/usr.bin/jot/regress.wgd.out10
-rw-r--r--regress/usr.bin/jot/regress.wo.out10
-rw-r--r--regress/usr.bin/jot/regress.wp1.out10
-rw-r--r--regress/usr.bin/jot/regress.wp2.out10
-rw-r--r--regress/usr.bin/jot/regress.wp3.out10
-rw-r--r--regress/usr.bin/jot/regress.wp4.out10
-rw-r--r--regress/usr.bin/jot/regress.wp5.out10
-rw-r--r--regress/usr.bin/jot/regress.wp6.out10
-rw-r--r--regress/usr.bin/jot/regress.wu.out10
-rw-r--r--regress/usr.bin/jot/regress.wwe.out10
-rw-r--r--regress/usr.bin/jot/regress.wx.out10
-rw-r--r--regress/usr.bin/jot/regress.wxn.out0
-rw-r--r--regress/usr.bin/jot/regress.x.out1
-rw-r--r--regress/usr.bin/jot/regress.xaa.out26
-rw-r--r--regress/usr.bin/jot/regress.yes.out10
-rw-r--r--regress/usr.bin/tail/Makefile19
-rw-r--r--regress/usr.bin/tail/follow-newsyslog.sh46
-rw-r--r--regress/usr.bin/tail/follow-overwrite-by-file.out3
-rw-r--r--regress/usr.bin/tail/follow-overwrite-by-file.sh36
-rw-r--r--regress/usr.bin/tail/follow-overwrite-data.out4
-rw-r--r--regress/usr.bin/tail/follow-overwrite-data.sh40
-rw-r--r--regress/usr.bin/tail/follow-removed-recreated.out3
-rw-r--r--regress/usr.bin/tail/follow-removed-recreated.sh39
-rw-r--r--regress/usr.bin/tail/follow-renames.out3
-rw-r--r--regress/usr.bin/tail/follow-renames.sh35
-rw-r--r--regress/usr.bin/tail/forward-blocks-rprint.out0
-rw-r--r--regress/usr.bin/tail/forward-blocks-rprint.sh23
-rw-r--r--regress/usr.bin/tail/forward-blocks.out512
-rw-r--r--regress/usr.bin/tail/forward-blocks.sh23
-rw-r--r--regress/usr.bin/tail/forward-chars-rprint.out13
-rw-r--r--regress/usr.bin/tail/forward-chars-rprint.sh23
-rw-r--r--regress/usr.bin/tail/forward-chars.out493
-rw-r--r--regress/usr.bin/tail/forward-chars.sh23
-rw-r--r--regress/usr.bin/tail/forward-lines-rprint.out4
-rw-r--r--regress/usr.bin/tail/forward-lines-rprint.sh25
-rw-r--r--regress/usr.bin/tail/forward-lines.out508
-rw-r--r--regress/usr.bin/tail/forward-lines.sh25
-rw-r--r--regress/usr.bin/tail/reverse-blocks-rprint.out128
-rw-r--r--regress/usr.bin/tail/reverse-blocks-rprint.sh25
-rw-r--r--regress/usr.bin/tail/reverse-blocks.out128
-rw-r--r--regress/usr.bin/tail/reverse-blocks.sh25
-rw-r--r--regress/usr.bin/tail/reverse-chars-rprint.out13
-rw-r--r--regress/usr.bin/tail/reverse-chars-rprint.sh25
-rw-r--r--regress/usr.bin/tail/reverse-chars.out13
-rw-r--r--regress/usr.bin/tail/reverse-chars.sh25
-rw-r--r--regress/usr.bin/tail/reverse-lines-rprint.out5
-rw-r--r--regress/usr.bin/tail/reverse-lines-rprint.sh27
-rw-r--r--regress/usr.bin/tail/reverse-lines.out5
-rw-r--r--regress/usr.bin/tail/reverse-lines.sh27
-rw-r--r--regress/usr.bin/tsort/Makefile54
-rw-r--r--regress/usr.bin/tsort/build-tree28
-rw-r--r--regress/usr.bin/tsort/hints15
-rw-r--r--regress/usr.bin/tsort/hints25
-rw-r--r--regress/usr.bin/tsort/normalize-cycles37
-rw-r--r--regress/usr.bin/tsort/pairs12956
-rw-r--r--regress/usr.bin/tsort/pairs219
-rw-r--r--regress/usr.bin/tsort/pairs5663
-rw-r--r--regress/usr.bin/tsort/pairs6332
-rw-r--r--regress/usr.bin/tsort/pairs71
-rw-r--r--regress/usr.bin/tsort/t2.canonical1
-rw-r--r--regress/usr.bin/tsort/t7.canonical10
-rw-r--r--regress/usr.bin/tsort/tsort-check54
-rw-r--r--regress/usr.bin/ul/Makefile8
-rw-r--r--regress/usr.bin/ul/ul.sh216
-rw-r--r--regress/usr.bin/wc/Makefile8
-rw-r--r--regress/usr.bin/wc/wc.sh73
-rw-r--r--regress/usr.bin/xargs/Makefile8
-rw-r--r--regress/usr.bin/xargs/showargs.c19
-rwxr-xr-xregress/usr.bin/xargs/xargs-L.sh97
-rw-r--r--regress/usr.sbin/Makefile8
1156 files changed, 56562 insertions, 0 deletions
diff --git a/bsd.regress.mk b/bsd.regress.mk
new file mode 100644
index 0000000..91c8fb9
--- /dev/null
+++ b/bsd.regress.mk
@@ -0,0 +1,16 @@
+include ../../../config.mk
+
+.CURDIR = .
+.OBJDIR = $(shell pwd)
+.DEFAULT_GOAL :=
+
+all: regress
+
+regress:
+ifneq (,$(REGESS_TARGETS))
+ for t in $(REGRESS_TARGETS); do \
+ $(MAKE) $$t; \
+ done
+endif
+
+.PHONY: all clean
diff --git a/regress/Makefile b/regress/Makefile
new file mode 100644
index 0000000..40076da
--- /dev/null
+++ b/regress/Makefile
@@ -0,0 +1,8 @@
+SUBDIRS = bin sbin usr.bin usr.sbin
+
+BROKEN =
+
+include ../mk/subdirs.mk
+
+$(BROKEN):
+ true
diff --git a/regress/bin/Makefile b/regress/bin/Makefile
new file mode 100644
index 0000000..ee38c7b
--- /dev/null
+++ b/regress/bin/Makefile
@@ -0,0 +1,8 @@
+SUBDIRS = cat chmod ln md5 pax test
+
+BROKEN =
+
+include ../../mk/subdirs.mk
+
+$(BROKEN):
+ true
diff --git a/regress/bin/cat/Makefile b/regress/bin/cat/Makefile
new file mode 100644
index 0000000..c7b0b67
--- /dev/null
+++ b/regress/bin/cat/Makefile
@@ -0,0 +1,11 @@
+# $OpenBSD: Makefile,v 1.1 2016/07/05 20:01:47 schwarze Exp $
+
+REGRESS_TARGETS=cat_be cat_se
+
+cat_be:
+ cat -be ${.CURDIR}/cat_be.in | cmp -s ${.CURDIR}/cat_be.out /dev/stdin
+
+cat_se:
+ cat -se ${.CURDIR}/cat_se.in | cmp -s ${.CURDIR}/cat_se.out /dev/stdin
+
+include bsd.regress.mk
diff --git a/regress/bin/cat/cat_be.in b/regress/bin/cat/cat_be.in
new file mode 100644
index 0000000..ef9f4da
--- /dev/null
+++ b/regress/bin/cat/cat_be.in
@@ -0,0 +1,5 @@
+free,
+
+functional
+
+and secure
diff --git a/regress/bin/cat/cat_be.out b/regress/bin/cat/cat_be.out
new file mode 100644
index 0000000..97e4919
--- /dev/null
+++ b/regress/bin/cat/cat_be.out
@@ -0,0 +1,5 @@
+ 1 free,$
+ $
+ 2 functional$
+ $
+ 3 and secure$
diff --git a/regress/bin/cat/cat_se.in b/regress/bin/cat/cat_se.in
new file mode 100644
index 0000000..19fa0fe
--- /dev/null
+++ b/regress/bin/cat/cat_se.in
@@ -0,0 +1,3 @@
+
+Free, functional and secure
+
diff --git a/regress/bin/cat/cat_se.out b/regress/bin/cat/cat_se.out
new file mode 100644
index 0000000..bb3b233
--- /dev/null
+++ b/regress/bin/cat/cat_se.out
@@ -0,0 +1,3 @@
+$
+Free, functional and secure$
+$
diff --git a/regress/bin/chmod/Makefile b/regress/bin/chmod/Makefile
new file mode 100644
index 0000000..1c3d5bb
--- /dev/null
+++ b/regress/bin/chmod/Makefile
@@ -0,0 +1,491 @@
+# $OpenBSD: Makefile,v 1.3 2017/02/18 18:27:12 tb Exp $
+
+REGRESS_TARGETS= chmod_abs_0000 chmod_abs_0644
+REGRESS_TARGETS+= chmod_sym_0644 chmod_sym_0000
+REGRESS_TARGETS+= chmod_R_0755 chmod_RP_0755 chmod_RH_0755 chmod_RL_0755
+#REGRESS_TARGETS+= chmod_h_abs_0000 chmod_h_abs_0644
+#REGRESS_TARGETS+= chmod_h_sym_0000 chmod_h_sym_0644
+#REGRESS_TARGETS+= chmod_h_go_minus_r chmod_h_go_minus_rx
+#REGRESS_TARGETS+= chmod_h_go_plus_r chmod_h_go_plus_rx
+REGRESS_TARGETS+= chmod_via_link_abs_0000 chmod_via_link_abs_0644
+REGRESS_TARGETS+= chmod_via_link_sym_0000 chmod_via_link_sym_0644
+REGRESS_TARGETS+= chmod_via_link_go_minus_r chmod_via_link_go_minus_rx
+REGRESS_TARGETS+= chmod_via_link_go_plus_r chmod_via_link_go_plus_rx
+REGRESS_TARGETS+= chmod_error
+
+REGRESS_TARGETS+= chgrp_id chgrp_name
+REGRESS_TARGETS+= chgrp_symlink chgrp_h_symlink
+REGRESS_TARGETS+= chgrp_R chgrp_RP chgrp_RH chgrp_RL
+REGRESS_TARGETS+= chgrp_error
+
+REGRESS_TARGETS+= chown_id chown_name
+REGRESS_TARGETS+= chown_symlink chown_h_symlink
+REGRESS_TARGETS+= chown_R chown_RP chown_RH chown_RL
+REGRESS_TARGETS+= chown_error
+
+#REGRESS_TARGETS+= chflags chflags_no
+#REGRESS_TARGETS+= chflags_R chflags_RP chflags_RH chflags_RL
+#REGRESS_TARGETS+= chflags_via_link
+#REGRESS_TARGETS+= chflags_error
+
+prepfile: clean
+ @mkdir -p regress
+ @touch regress/file
+ @chmod 000 regress/file
+ stat -f '%p' regress/file
+ @[ `stat -f '%p' regress/file` == '100000' ]
+
+chmod_prepsymlink: prepfile
+ @ln -s ${.OBJDIR}/regress/file ${.OBJDIR}/regress/link
+ #@chmod -h 755 regress/link
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+prepdir: clean
+ @mkdir -p regress/dir
+ @touch regress/dir/file1
+ @touch regress/dir/file2
+ @chmod 000 regress/dir/file1
+ @chmod 000 regress/dir/file2
+ @touch regress/link_target_file
+ @chmod 0600 regress/link_target_file
+ @[ `stat -f '%p' regress/dir/file1` == '100000' ]
+ @[ `stat -f '%p' regress/dir/file2` == '100000' ]
+ @ln -s ${.OBJDIR}/regress/link_target_file \
+ ${.OBJDIR}/regress/dir/linked_file
+ @ln -s ${.OBJDIR}/regress/dir ${.OBJDIR}/regress/linked_dir
+ @chmod 000 regress/dir
+ @[ `stat -f '%p' regress/dir` == '40000' ]
+ @[ `stat -f '%p' regress/link_target_file` == '100600' ]
+
+chown_prepfile: prepfile
+ @[ `id -u` != 0 ] || /sbin/chown root:wheel regress/file
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/file` == 'root' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/file` == \
+ 'wheel' ]
+
+chown_prepsymlink: chown_prepfile
+ @[ `id -u` != 0 ] || ln -s ${.OBJDIR}/regress/file \
+ ${.OBJDIR}/regress/symlink
+ @[ `id -u` != 0 ] || /sbin/chown -h root:wheel regress/symlink
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/symlink` == \
+ 'root' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/symlink` == \
+ 'wheel' ]
+
+chown_prepdir: prepdir
+ @[ `id -u` != 0 ] || /bin/chmod -R 0755 regress
+ @[ `id -u` != 0 ] || /sbin/chown -RL root:wheel regress
+
+chflags_prepfile: prepfile
+ @chflags dump regress/file
+ @[ `stat -f '%f' regress/file` == '0' ]
+
+chflags_prepdir: prepdir
+ @chmod -R 0755 regress
+ @chflags -RL dump regress
+
+chmod_abs_0000: prepfile
+ @echo chmod abs 0000
+ @chmod 0644 regress/file
+ @chmod 0000 regress/file
+ @[ `stat -f '%p' regress/file` == '100000' ]
+
+chmod_abs_0644: prepfile
+ @echo chmod abs 0644
+ @chmod 0644 regress/file
+ @[ `stat -f '%p' regress/file` == '100644' ]
+
+chmod_sym_0644: prepfile
+ @echo chmod sym 0644
+ @chmod u=rw,go=r regress/file
+ @[ `stat -f '%p' regress/file` == '100644' ]
+
+chmod_sym_0000: prepfile
+ @echo chmod sym 0000
+ @chmod 0644 regress/file
+ @chmod a-rwx regress/file
+ @[ `stat -f '%p' regress/file` == '100000' ]
+
+chmod_R_0755: prepdir
+ @echo chmod -R 0755
+ @chmod -R 0755 regress/dir
+ @[ `stat -f '%p' regress/dir/file1` == '100755' ]
+ @[ `stat -f '%p' regress/dir/file2` == '100755' ]
+ @[ `stat -f '%p' regress/dir` == '40755' ]
+ @[ `stat -f '%p' regress/link_target_file` == '100600' ]
+
+chmod_RP_0755: prepdir
+ @echo chmod -RP 0755
+ @chmod -RP 0755 regress/dir
+ @[ `stat -f '%p' regress/dir/file1` == '100755' ]
+ @[ `stat -f '%p' regress/dir/file2` == '100755' ]
+ @[ `stat -f '%p' regress/dir` == '40755' ]
+ @[ `stat -f '%p' regress/link_target_file` == '100600' ]
+
+chmod_RH_0755: prepdir
+ @echo chmod -RH 0755
+ @chmod -RH 0755 regress/linked_dir
+ @[ `stat -f '%p' regress/dir/file1` == '100755' ]
+ @[ `stat -f '%p' regress/dir/file2` == '100755' ]
+ @[ `stat -f '%p' regress/dir` == '40755' ]
+ @[ `stat -f '%p' regress/link_target_file` == '100600' ]
+
+chmod_RL_0755: prepdir
+ @echo chmod -RL 0755
+ @chmod -RL 0755 regress/linked_dir
+ @[ `stat -f '%p' regress/dir/file1` == '100755' ]
+ @[ `stat -f '%p' regress/dir/file2` == '100755' ]
+ @[ `stat -f '%p' regress/dir` == '40755' ]
+ @[ `stat -f '%p' regress/link_target_file` == '100755' ]
+
+chmod_h_abs_0000: chmod_prepsymlink
+ @echo chmod -h 0000
+ @chmod -h 0000 regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120000' ]
+
+chmod_h_abs_0644: chmod_prepsymlink
+ @echo chmod -h 0644
+ @chmod -h 0644 regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120644' ]
+
+chmod_h_sym_0000: chmod_prepsymlink
+ @echo chmod -h sym 0000
+ @chmod -h a-rwx regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120000' ]
+
+chmod_h_sym_0644: chmod_prepsymlink
+ @echo chmod -h sym 0644
+ @chmod -h u=rw,go=r regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120644' ]
+
+chmod_h_go_minus_r: chmod_prepsymlink
+ @echo chmod -h go-r
+ @chmod -h go-r regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120711' ]
+
+chmod_h_go_minus_rx: chmod_prepsymlink
+ @echo chmod -h go-rx
+ @chmod -h go-rx regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120700' ]
+
+chmod_h_go_plus_r: chmod_prepsymlink
+ @echo chmod -h go+r
+ @chmod -h go+r regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_h_go_plus_rx: chmod_prepsymlink
+ @echo chmod -h go+rx
+ @chmod -h go+rx regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ @[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_abs_0000: chmod_prepsymlink
+ @echo chmod via symlink 0000
+ @chmod 0000 regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_abs_0644: chmod_prepsymlink
+ @echo chmod via symlink 0644
+ @chmod 0644 regress/link
+ @[ `stat -f '%p' regress/file` == '100644' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_sym_0000: chmod_prepsymlink
+ @echo chmod via symlink sym 0000
+ @chmod a-rwx regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_sym_0644: chmod_prepsymlink
+ @echo chmod via symlink sym 0644
+ @chmod u=rw,go=r regress/link
+ @[ `stat -f '%p' regress/file` == '100644' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_go_minus_r: chmod_prepsymlink
+ @echo chmod via symlink go-r
+ @chmod go-r regress/link
+ stat -f '%p' regress/file
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_go_minus_rx: chmod_prepsymlink
+ @echo chmod via symlink go-rx
+ @chmod go-rx regress/link
+ @[ `stat -f '%p' regress/file` == '100000' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_go_plus_r: chmod_prepsymlink
+ @echo chmod via symlink go+r
+ @chmod go+r regress/link
+ @[ `stat -f '%p' regress/file` == '100044' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_via_link_go_plus_rx: chmod_prepsymlink
+ @echo chmod via symlink go+rx
+ @chmod go+rx regress/link
+ @[ `stat -f '%p' regress/file` == '100055' ]
+ #@[ `stat -f '%p' regress/link` == '120755' ]
+
+chmod_error:
+ @echo chmod error
+ @chmod foo bar 2> ${.OBJDIR}/chmod.error || /usr/bin/true
+ @cmp -s ${.CURDIR}/chmod.error ${.OBJDIR}/chmod.error
+
+chgrp_id: chown_prepfile
+ @echo chgrp 32767
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp 32767 regress/file
+ @[ `id -u` != 0 ] || [ `stat -f '%g' regress/file` == 32767 ]
+
+chgrp_name: chown_prepfile
+ @echo chgrp nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp nobody regress/file
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/file` == \
+ 'nobody' ]
+
+chgrp_symlink: chown_prepsymlink
+ @echo chgrp symlink
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp nobody regress/symlink
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/file` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/symlink` == \
+ 'wheel' ]
+
+chgrp_h_symlink: chown_prepsymlink
+ @echo chgrp -h symlink
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp -h nobody regress/symlink
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/file` == \
+ 'wheel' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/symlink` == \
+ 'nobody' ]
+
+chgrp_R: chown_prepdir
+ @echo chown -R nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp -R nobody regress/dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' \
+ regress/link_target_file` == 'wheel' ]
+
+chgrp_RP: chown_prepdir
+ @echo chgrp -RP nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp -RP nobody regress/dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' \
+ regress/link_target_file` == 'wheel' ]
+
+chgrp_RH: chown_prepdir
+ @echo chgrp -RH nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp -RH nobody regress/linked_dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' \
+ regress/link_target_file` == 'wheel' ]
+
+chgrp_RL: chown_prepdir
+ @echo chgrp -RL nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /bin/chgrp -RL nobody regress/linked_dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Sg' \
+ regress/link_target_file` == 'nobody' ]
+
+chgrp_error:
+ @echo chgrp error
+ @chgrp __hopefully_not_existing_group bar 2> \
+ ${.OBJDIR}/chgrp.error || /usr/bin/true
+ @cmp -s ${.CURDIR}/chgrp.error ${.OBJDIR}/chgrp.error
+
+chown_id: chown_prepfile
+ @echo chown 32767
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown 32767 regress/file
+ @[ `id -u` != 0 ] || [ `stat -f '%u' regress/file` == 32767 ]
+
+chown_name: chown_prepfile
+ @echo chown nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown nobody regress/file
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/file` == \
+ 'nobody' ]
+
+chown_symlink: chown_prepsymlink
+ @echo chown symlink
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown nobody regress/symlink
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/file` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/symlink` == \
+ 'root' ]
+
+chown_h_symlink: chown_prepsymlink
+ @echo chown -h symlink
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown -h nobody regress/symlink
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/file` == \
+ 'root' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/symlink` == \
+ 'nobody' ]
+
+chown_R: chown_prepdir
+ @echo chown -R nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown -R nobody regress/dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' \
+ regress/link_target_file` == 'root' ]
+
+chown_RP: chown_prepdir
+ @echo chown -RP nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown -RP nobody regress/dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' \
+ regress/link_target_file` == 'root' ]
+
+chown_RH: chown_prepdir
+ @echo chown -RH nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown -RH nobody regress/linked_dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' \
+ regress/link_target_file` == 'root' ]
+
+chown_RL: chown_prepdir
+ @echo chown -RL nobody
+ @[ `id -u` != 0 ] && echo skipped, not root || /usr/bin/true
+ @[ `id -u` != 0 ] || /sbin/chown -RL nobody regress/linked_dir
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file1` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir/file2` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' regress/dir` == \
+ 'nobody' ]
+ @[ `id -u` != 0 ] || [ `stat -f '%Su' \
+ regress/link_target_file` == 'nobody' ]
+
+chown_error:
+ @echo chown error
+ @chown __hopefully_not_existing_user bar 2> \
+ ${.OBJDIR}/chown.error || /usr/bin/true
+ @cmp -s ${.CURDIR}/chown.error ${.OBJDIR}/chown.error
+
+chflags: chflags_prepfile
+ @echo chflags nodump
+ @chflags nodump regress/file
+ @[ `stat -f '%f' regress/file` == '1' ]
+
+chflags_no: chflags_prepfile
+ @echo chflags dump
+ @chflags nodump regress/file
+ @[ `stat -f '%f' regress/file` == '1' ]
+ @chflags dump regress/file
+ @[ `stat -f '%f' regress/file` == '0' ]
+
+chflags_R: chflags_prepdir
+ @echo chflags -R nodump
+ @chflags -R nodump regress/dir
+ @[ `stat -f '%f' regress/dir/file1` == '1' ]
+ @[ `stat -f '%f' regress/dir/file2` == '1' ]
+ @[ `stat -f '%f' regress/dir` == '1' ]
+ @[ `stat -f '%f' regress/link_target_file` == '0' ]
+
+chflags_RP: chflags_prepdir
+ @echo chflags -RP nodump
+ @chflags -RP nodump regress/dir
+ @[ `stat -f '%f' regress/dir/file1` == '1' ]
+ @[ `stat -f '%f' regress/dir/file2` == '1' ]
+ @[ `stat -f '%f' regress/dir` == '1' ]
+ @[ `stat -f '%f' regress/link_target_file` == '0' ]
+
+chflags_RH: chflags_prepdir
+ @echo chflags -RH nodump
+ @chflags -RH nodump regress/linked_dir
+ @[ `stat -f '%f' regress/dir/file1` == '1' ]
+ @[ `stat -f '%f' regress/dir/file2` == '1' ]
+ @[ `stat -f '%f' regress/dir` == '1' ]
+ @[ `stat -f '%f' regress/link_target_file` == '0' ]
+
+chflags_RL: chflags_prepdir
+ @echo chflags -RL nodump
+ @chflags -RL nodump regress/linked_dir
+ @[ `stat -f '%f' regress/dir/file1` == '1' ]
+ @[ `stat -f '%f' regress/dir/file2` == '1' ]
+ @[ `stat -f '%f' regress/dir` == '1' ]
+ @[ `stat -f '%f' regress/link_target_file` == '1' ]
+
+chflags_via_link: chflags_prepfile
+ @echo chflags via link
+ @ln -s ${.OBJDIR}/regress/file ${.OBJDIR}/regress/link
+ @chflags -h uchg regress/link
+ @chflags nodump regress/link
+ @[ `stat -f '%f' regress/link` == '2' ]
+ @[ `stat -f '%f' regress/file` == '1' ]
+ @chflags -h nouchg regress/link
+ @chflags dump regress/link
+ @[ `stat -f '%f' regress/link` == '0' ]
+ @[ `stat -f '%f' regress/file` == '0' ]
+
+chflags_error:
+ @echo chflags error
+ @chflags foo bar 2> ${.OBJDIR}/chflags.error || /usr/bin/true
+ @cmp -s ${.CURDIR}/chflags.error ${.OBJDIR}/chflags.error
+
+clean:
+ @chmod -R 0700 regress 2>/dev/null || /usr/bin/true
+ @rm -rf regress
+
+.PHONY: ${REGRESS_TARGETS} clean prepfile prepdir chown_prepfile chown_prepsymlink \
+ chown_prepdir chflags_prepfile chflags_prepdir
+
+.POSIX:
+
+include bsd.regress.mk
diff --git a/regress/bin/chmod/chflags.error b/regress/bin/chmod/chflags.error
new file mode 100644
index 0000000..60d6e56
--- /dev/null
+++ b/regress/bin/chmod/chflags.error
@@ -0,0 +1 @@
+chflags: invalid flag: foo
diff --git a/regress/bin/chmod/chgrp.error b/regress/bin/chmod/chgrp.error
new file mode 100644
index 0000000..4a9c9da
--- /dev/null
+++ b/regress/bin/chmod/chgrp.error
@@ -0,0 +1 @@
+chgrp: group is invalid: __hopefully_not_existing_group
diff --git a/regress/bin/chmod/chmod.error b/regress/bin/chmod/chmod.error
new file mode 100644
index 0000000..608ba5f
--- /dev/null
+++ b/regress/bin/chmod/chmod.error
@@ -0,0 +1 @@
+chmod: invalid file mode: foo
diff --git a/regress/bin/chmod/chmod_prepsymlink b/regress/bin/chmod/chmod_prepsymlink
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/regress/bin/chmod/chmod_prepsymlink
diff --git a/regress/bin/chmod/chown.error b/regress/bin/chmod/chown.error
new file mode 100644
index 0000000..99713d8
--- /dev/null
+++ b/regress/bin/chmod/chown.error
@@ -0,0 +1 @@
+chown: invalid user: ‘__hopefully_not_existing_user’
diff --git a/regress/bin/ln/Makefile b/regress/bin/ln/Makefile
new file mode 100644
index 0000000..4ea78a0
--- /dev/null
+++ b/regress/bin/ln/Makefile
@@ -0,0 +1,18 @@
+# $OpenBSD: Makefile,v 1.1 2013/03/12 06:00:05 guenther Exp $
+
+regress: recursive links/source
+ @sh ${.CURDIR}/test_ln.sh && touch $@
+
+clean:
+ rm -rf links regress
+
+links:
+ @mkdir -p ${.OBJDIR}/links
+
+recursive: links
+# @ln -s ${.OBJDIR}/links links/links
+
+links/source: links
+ @echo "Hello, world!" > ${.OBJDIR}/links/source
+
+include bsd.regress.mk
diff --git a/regress/bin/ln/test_ln.sh b/regress/bin/ln/test_ln.sh
new file mode 100644
index 0000000..68c1037
--- /dev/null
+++ b/regress/bin/ln/test_ln.sh
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+# $OpenBSD: test_ln.sh,v 1.1 2013/03/12 06:00:05 guenther Exp $
+
+set -f
+
+get_dev_ino()
+{
+ stat -f %d:%i "$@"
+}
+
+compare_dirents()
+{
+ opt=
+ if [ $# -eq 3 ]
+ then
+ opt=$1
+ shift
+ fi
+
+ echo Comparing $1 and $2
+ if [ `get_dev_ino $opt $1` != `get_dev_ino $opt $2` ]
+ then
+ echo comparison failed: $1 different than $2
+ exit 1
+ fi
+}
+
+test_ln()
+{
+ [ -e $2 ] || ln $1 $2
+ compare_dirents $1 $2
+}
+
+test_ln_s()
+{
+ [ -h $2 ] || ln -s $1 $2
+ compare_dirents -L $3 $2
+}
+
+test_ln_L()
+{
+ [ -e $2 ] || ln -L $1 $2
+
+ # Need 3rd argument because $2 follows symlink $1
+ compare_dirents $2 $3
+}
+
+test_ln_P()
+{
+ [ -e $2 ] || ln -P $1 $2
+ compare_dirents $1 $2
+}
+
+test_ln ./links/source ./links/hardlink1
+test_ln_s source ./links/symlink1 ./links/source
+test_ln_L ./links/symlink1 ./links/hardlink2 ./links/source
+test_ln_P ./links/symlink1 ./links/symlink2
+test_ln_s symlink1 ./links/symlink3 ./links/symlink1
+test_ln_L ./links/symlink3 ./links/hardlink3 ./links/source
+err=`LC_ALL=C ln -P ./links/symlink1 ./links/symlink2 2>&1`
+if [ $? -eq 0 ]; then
+ exit 1
+fi
+case $err in
+ *"are identical"*"nothing done"*) ;;
+ *) exit 1;;
+esac
+
diff --git a/regress/bin/md5/Makefile b/regress/bin/md5/Makefile
new file mode 100644
index 0000000..341cfb9
--- /dev/null
+++ b/regress/bin/md5/Makefile
@@ -0,0 +1,50 @@
+# $OpenBSD: Makefile,v 1.7 2015/01/09 03:32:58 lteo Exp $
+
+REGRESS_TARGETS=cksum md5 sha1 sha224 sha256 sha384 sha512 md5_string_vs_files
+REGRESS_TARGETS+=md5_pipe md5_pipe_vs_file md5_multiple_files
+
+cksum:
+ cksum -x | cmp -s ${.CURDIR}/testsuite.cksum /dev/stdin
+
+md5:
+ md5 -x | cmp -s ${.CURDIR}/testsuite.md5 /dev/stdin
+
+sha1:
+ sha1 -x | cmp -s ${.CURDIR}/testsuite.sha1 /dev/stdin
+
+sha224:
+ cksum -a sha224 -x | cmp -s ${.CURDIR}/testsuite.sha224 /dev/stdin
+
+sha256:
+ sha256 -x | cmp -s ${.CURDIR}/testsuite.sha256 /dev/stdin
+
+sha384:
+ cksum -a sha384 -x | cmp -s ${.CURDIR}/testsuite.sha384 /dev/stdin
+
+sha512:
+ sha512 -x | cmp -s ${.CURDIR}/testsuite.sha512 /dev/stdin
+
+# shouldn't allow files on the command line along with '-s'
+md5_string_vs_files:
+ if md5 -s "" /dev/null >/dev/null 2>&1; then \
+ false ; \
+ fi
+
+md5_pipe:
+ echo hi | md5 -p | cmp -s ${.CURDIR}/pipe_test.md5 /dev/stdin
+
+# shouldn't allow files on the command line along with '-p'
+md5_pipe_vs_file:
+ if echo hi | md5 -p /dev/null >/dev/null 2>&1; then \
+ false ; \
+ fi
+
+# should allow multiple files
+md5_multiple_files:
+ if [ `md5 /dev/null /dev/null | wc -l` != 2 ]; then \
+ false ; \
+ fi
+
+.PHONY: ${REGRESS_TARGETS}
+
+include bsd.regress.mk
diff --git a/regress/bin/md5/pipe_test.md5 b/regress/bin/md5/pipe_test.md5
new file mode 100644
index 0000000..c6ad17d
--- /dev/null
+++ b/regress/bin/md5/pipe_test.md5
@@ -0,0 +1,2 @@
+hi
+764efa883dda1e11db47671c4a3bbd9e
diff --git a/regress/bin/md5/testsuite.cksum b/regress/bin/md5/testsuite.cksum
new file mode 100644
index 0000000..64bd469
--- /dev/null
+++ b/regress/bin/md5/testsuite.cksum
@@ -0,0 +1,10 @@
+CKSUM test suite:
+4294967295 0
+1220704766 1 a
+1219131554 3 abc
+3644109718 14 message digest
+2713270184 26 abcdefghijklmnopqrstuvwxyz
+2547199108 56 abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq
+81918263 62 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
+1939911592 80 12345678901234567890123456789012345678901234567890123456789012345678901234567890
+3401932319 1000000 one million 'a' characters
diff --git a/regress/bin/md5/testsuite.md5 b/regress/bin/md5/testsuite.md5
new file mode 100644
index 0000000..96ec927
--- /dev/null
+++ b/regress/bin/md5/testsuite.md5
@@ -0,0 +1,10 @@
+MD5 test suite:
+MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
+MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
+MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
+MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
+MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
+MD5 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 8215ef0796a20bcaaae116d3876c664a
+MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f
+MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a
+MD5 (one million 'a' characters) = 7707d6ae4e027c70eea2a935c2296f21
diff --git a/regress/bin/md5/testsuite.sha1 b/regress/bin/md5/testsuite.sha1
new file mode 100644
index 0000000..8ee49b4
--- /dev/null
+++ b/regress/bin/md5/testsuite.sha1
@@ -0,0 +1,10 @@
+SHA1 test suite:
+SHA1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709
+SHA1 ("a") = 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
+SHA1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d
+SHA1 ("message digest") = c12252ceda8be8994d5fa0290a47231c1d16aae3
+SHA1 ("abcdefghijklmnopqrstuvwxyz") = 32d10c7b8cf96570ca04ce37f2a19d84240d3a89
+SHA1 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 84983e441c3bd26ebaae4aa1f95129e5e54670f1
+SHA1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 761c457bf73b14d27e9e9265c46f4b4dda11f940
+SHA1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 50abf5706a150990a08b2c5ea40fa0e585554732
+SHA1 (one million 'a' characters) = 34aa973cd4c4daa4f61eeb2bdbad27316534016f
diff --git a/regress/bin/md5/testsuite.sha224 b/regress/bin/md5/testsuite.sha224
new file mode 100644
index 0000000..acae0a6
--- /dev/null
+++ b/regress/bin/md5/testsuite.sha224
@@ -0,0 +1,10 @@
+SHA224 test suite:
+SHA224 ("") = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
+SHA224 ("a") = abd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5
+SHA224 ("abc") = 23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7
+SHA224 ("message digest") = 2cb21c83ae2f004de7e81c3c7019cbcb65b71ab656b22d6d0c39b8eb
+SHA224 ("abcdefghijklmnopqrstuvwxyz") = 45a5f72c39c5cff2522eb3429799e49e5f44b356ef926bcf390dccc2
+SHA224 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525
+SHA224 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = bff72b4fcb7d75e5632900ac5f90d219e05e97a7bde72e740db393d9
+SHA224 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = b50aecbe4e9bb0b57bc5f3ae760a8e01db24f203fb3cdcd13148046e
+SHA224 (one million 'a' characters) = 20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67
diff --git a/regress/bin/md5/testsuite.sha256 b/regress/bin/md5/testsuite.sha256
new file mode 100644
index 0000000..0b77c4b
--- /dev/null
+++ b/regress/bin/md5/testsuite.sha256
@@ -0,0 +1,10 @@
+SHA256 test suite:
+SHA256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+SHA256 ("a") = ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+SHA256 ("abc") = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
+SHA256 ("message digest") = f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650
+SHA256 ("abcdefghijklmnopqrstuvwxyz") = 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73
+SHA256 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1
+SHA256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0
+SHA256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e
+SHA256 (one million 'a' characters) = cdc76e5c9914fb9281a1c7e284d73e67f1809a48a497200e046d39ccc7112cd0
diff --git a/regress/bin/md5/testsuite.sha384 b/regress/bin/md5/testsuite.sha384
new file mode 100644
index 0000000..894f1ff
--- /dev/null
+++ b/regress/bin/md5/testsuite.sha384
@@ -0,0 +1,10 @@
+SHA384 test suite:
+SHA384 ("") = 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+SHA384 ("a") = 54a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+SHA384 ("abc") = cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7
+SHA384 ("message digest") = 473ed35167ec1f5d8e550368a3db39be54639f828868e9454c239fc8b52e3c61dbd0d8b4de1390c256dcbb5d5fd99cd5
+SHA384 ("abcdefghijklmnopqrstuvwxyz") = feb67349df3db6f5924815d6c3dc133f091809213731fe5c7b5f4999e463479ff2877f5f2936fa63bb43784b12f3ebb4
+SHA384 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 3391fdddfc8dc7393707a65b1b4709397cf8b1d162af05abfe8f450de5f36bc6b0455a8520bc4e6f5fe95b1fe3c8452b
+SHA384 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 1761336e3f7cbfe51deb137f026f89e01a448e3b1fafa64039c1464ee8732f11a5341a6f41e0c202294736ed64db1a84
+SHA384 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = b12932b0627d1c060942f5447764155655bd4da0c9afa6dd9b9ef53129af1b8fb0195996d2de9ca0df9d821ffee67026
+SHA384 (one million 'a' characters) = 9d0e1809716474cb086e834e310a4a1ced149e9c00f248527972cec5704c2a5b07b8b3dc38ecc4ebae97ddd87f3d8985
diff --git a/regress/bin/md5/testsuite.sha512 b/regress/bin/md5/testsuite.sha512
new file mode 100644
index 0000000..a6cec72
--- /dev/null
+++ b/regress/bin/md5/testsuite.sha512
@@ -0,0 +1,10 @@
+SHA512 test suite:
+SHA512 ("") = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+SHA512 ("a") = 1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
+SHA512 ("abc") = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f
+SHA512 ("message digest") = 107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c
+SHA512 ("abcdefghijklmnopqrstuvwxyz") = 4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1
+SHA512 ("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") = 204a8fc6dda82f0a0ced7beb8e08a41657c16ef468b228a8279be331a703c33596fd15c13b1b07f9aa1d3bea57789ca031ad85c7a71dd70354ec631238ca3445
+SHA512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894
+SHA512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843
+SHA512 (one million 'a' characters) = e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09b
diff --git a/regress/bin/pax/Makefile b/regress/bin/pax/Makefile
new file mode 100644
index 0000000..4c17bc0
--- /dev/null
+++ b/regress/bin/pax/Makefile
@@ -0,0 +1,11 @@
+# $OpenBSD: Makefile,v 1.6 2006/07/21 22:59:05 ray Exp $
+
+REGRESS_TARGETS=t1 t2 t3 t4 t5 t6
+CLEANFILES=$(REGRESS_TARGETS:%=%.tar)
+
+$(REGRESS_TARGETS):
+ sh ${.CURDIR}/$@.sh ${.CURDIR} ${.OBJDIR}
+
+.PHONY: ${REGRESS_TARGETS}
+
+include bsd.regress.mk
diff --git a/regress/bin/pax/t1.out b/regress/bin/pax/t1.out
new file mode 100644
index 0000000..62307e5
--- /dev/null
+++ b/regress/bin/pax/t1.out
@@ -0,0 +1 @@
+digikamimageplugins-0.7.2/digikamimageplugins/antivignetting/digikamimageplugin_antivignetting_ui.rc
diff --git a/regress/bin/pax/t1.sh b/regress/bin/pax/t1.sh
new file mode 100644
index 0000000..771b41b
--- /dev/null
+++ b/regress/bin/pax/t1.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+# $OpenBSD: t1.sh,v 1.2 2005/04/15 07:06:35 markus Exp $
+
+# pax was assuming ustar entries were always NUL terminated
+CUR=$1
+OBJ=$2
+uudecode -o $OBJ/t1.tar << '_EOF'
+begin 644 t1.tar
+M9&EG:6MA;6EM86=E<&QU9VEN<RTP+C<N,B]D:6=I:V%M:6UA9V5P;'5G:6YS
+M+V%N=&EV:6=N971T:6YG+V1I9VEK86UI;6%G97!L=6=I;E]A;G1I=FEG;F5T
+M=&EN9U]U:2YR8S`P,#`V-#0`,#`P,#<V-0`P,#`P-S8T`#`P,#`P,#`P-3(V
+M`#$P,C`P,S,Q,#<T`#`S-3,T-``@,```````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````````````````````!U<W1A<B`@`&=I;&QE
+M<P``````````````````````````````````9VEL;&5S````````````````
+M```````````````````P,#`P,#`P`#`P,#`P,#``````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````\(41/0U194$4@:W!A<G1G=6D@4UE35$5-(")K
+M<&%R=&=U:2YD=&0B/@H\:W!A<G1G=6D@=F5R<VEO;CTB,2(@;F%M93TB9&EG
+M:6MA;6EM86=E<&QU9VEN7V%N=&EV:6=N971T:6YG(B`^"@H@/$UE;G5"87(^
+M"@H@(#Q-96YU(&YA;64](D9I>"(@/@H@("`\=&5X=#Y&:29A;7`[>#PO=&5X
+M=#X*("`@/$%C=&EO;B!N86UE/2)I;6%G97!L=6=I;E]A;G1I=FEG;F5T=&EN
+M9R(@+SX@"B`@/"]-96YU/@H*(#PO365N=4)A<CX*(`H@/%1O;VQ"87(@;F%M
+M93TB5&]O;$)A<B(@/@H@(#QT97AT/DUA:6X@5&]O;&)A<CPO=&5X=#X*(#PO
+M5&]O;$)A<CX*"B`\06-T:6]N4')O<&5R=&EE<R\^"@H\+VMP87)T9W5I/@H`
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+B````````````````````````````````````````````````
+`
+end
+_EOF
+
+tar tf $OBJ/t1.tar 2> /dev/null | cmp -s $CUR/t1.out /dev/stdin
diff --git a/regress/bin/pax/t2.out b/regress/bin/pax/t2.out
new file mode 100644
index 0000000..a34d79f
--- /dev/null
+++ b/regress/bin/pax/t2.out
@@ -0,0 +1,2 @@
+abc/1234
+abc/abc
diff --git a/regress/bin/pax/t2.sh b/regress/bin/pax/t2.sh
new file mode 100644
index 0000000..281a746
--- /dev/null
+++ b/regress/bin/pax/t2.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+# $OpenBSD: t2.sh,v 1.1 2005/04/15 07:06:35 markus Exp $
+
+# tar.c, rev 1.36
+CUR=$1
+OBJ=$2
+uudecode -p << '_EOF' | tar ztf - 2> /dev/null | cmp -s $CUR/t2.out /dev/stdin
+begin 644 foo
+M'XL(`````````^W1L1&`,`@%4$9A!$(@S!/=0./^)A9Z9ZEBQ6M^0_&YGS@+
+M.",B4SVRNQ)/!(F8BY5,_1#1)#&@>A<;MK75!4:==^[/U6G^HIZW/VH^V%^E
+/Q/XAA.!I!W_0A94`"```
+`
+end
+_EOF
diff --git a/regress/bin/pax/t3.out b/regress/bin/pax/t3.out
new file mode 100644
index 0000000..182dda1
--- /dev/null
+++ b/regress/bin/pax/t3.out
@@ -0,0 +1,33 @@
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/a
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/bb
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/ccc
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/dddd
+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111/a
+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111/bb
+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111/ccc
+11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111/dddd
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222/a
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222/bb
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222/ccc
+222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222/dddd
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/a
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/bb
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/ccc
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/dddd
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/a
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/bb
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/ccc
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/dddd
+f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+f99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+p33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
+p33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333/a
+p444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
+p444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444/b
+p5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555
+p5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555/c
diff --git a/regress/bin/pax/t3.sh b/regress/bin/pax/t3.sh
new file mode 100644
index 0000000..b35ab71
--- /dev/null
+++ b/regress/bin/pax/t3.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+# $OpenBSD: t3.sh,v 1.1 2005/04/30 17:36:58 otto Exp $
+#
+# Test filled prefix and empty name, plus various other edgae cases.
+#
+CUR=$1
+OBJ=$2
+uudecode -p << '_EOF' | tar ztf - 2> /dev/null | cmp -s $CUR/t3.out /dev/stdin
+begin 644 t3.tar.gz
+M'XL("$&5:D("`W0S+G1A<@#MF\%NPC`,AO,HO`&.'<?;XP`35Z:-O?^:!"38
+M8:,2M>S.'X<>RJ'5US_Y$[4I+0],"',[9F&X/5Y)&9"R2*Y%$B`6Q+1AA6M+
+M7Y_GW<=T*:?S^?3;__XZ?[V1'\=%><+M[Y3\UU(>\T^U^6?.:0/A?W'_^[TQ
+M_P6:?P$)_QK^#X>#,?_3/($$-?*OXO]MPI;_-O_3]`O_&OXUF-7_*K;QOSTN
+MOOM?UF"%_6_X%V'G^7?BWUS_Z_XI3S4P_"OX-]?_AG^"R+^*?W/];_@O7,*_
+MAG]S_4]R7_\).>]_J,+Z^M_PC^@]_T[\F^M_PS]5"?\:_LWUO^&?*?*OXM]<
+M_QO^!2C\:_A_69SMS/Y7N__JO?\Y0<'_;E[^F_^2L_?QWPGV^E_WC^!]_V_Y
+M8#WE]NWUO^Z?"H=_#?_V^E_WS^['?R?^7Y=G.Z?_"?`8_R7ZGP;6]O^N_MV_
+M_Z,0K#7VOXO_XG[_UXE_:_WOXI\E\J_BWUK_N_@7]^]_./%_!!T>](\9<__^
+MH\;^CPI'A<=TGO^Q_R<4_M?"H^L_1.(BDH"@N%__O9-1[*[_;ORS^_G?B7]K
+M^><,S;_XSW^QROWZWUC^A_\,Q?OZSXE_<_EO_9\RHOO\LUGN]G^LY7_XI^K]
+9^S\G_H,@"((@"((@"(+_P3=C<CD]`%``````
+`
+end
+_EOF
diff --git a/regress/bin/pax/t4.out b/regress/bin/pax/t4.out
new file mode 100644
index 0000000..85ed00b
--- /dev/null
+++ b/regress/bin/pax/t4.out
@@ -0,0 +1,7 @@
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
+88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888/a
+999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+f99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+z
+zz
diff --git a/regress/bin/pax/t4.sh b/regress/bin/pax/t4.sh
new file mode 100644
index 0000000..f9a728c
--- /dev/null
+++ b/regress/bin/pax/t4.sh
@@ -0,0 +1,19 @@
+# $OpenBSD: t4.sh,v 1.1 2005/06/13 19:22:02 otto Exp $
+# Test extraction and building of old style tar archives
+#
+CUR=$1
+mkdir -p t4 && cd t4
+uudecode -p << 'EOF' | tar -zx -f -
+begin 644 t4.tar.gz
+M'XL("&2>@T(``W0T9VYU+G1A<@#MULT-@S`,AN&,P@;8^2%TG%X8HM,W`7$G
+MB+A*]3X7"P4).5\,K&MOLY,BIU2KYB3[M:@>]>!4?(AY"2%Y)UZRBIN2&\C9
+MR%D'T3W^=7[7_5ABO)1_N7//OQR7Z==[TV30_%_]S4WSG^O\J\;$_%O8Q$;3
+M_&L.,3#_%K;^\^^:\_<JD?>_B8_!,V[D'WSY_U.+P_EDDR/F;W``VO,ORWO^
+>U[\OMSW9Y(#Y`P``````````X+]\`:H?&NT`*```
+`
+end
+EOF
+tar -cO -f - * | tar -tf - | cmp -s $CUR/t4.out -
+ret=$?
+cd .. && rm -rf t4
+exit $ret
diff --git a/regress/bin/pax/t5.sh b/regress/bin/pax/t5.sh
new file mode 100644
index 0000000..48ec7ed
--- /dev/null
+++ b/regress/bin/pax/t5.sh
@@ -0,0 +1,26 @@
+# $OpenBSD: t5.sh,v 1.1 2006/01/25 17:42:08 markus Exp $
+# append without a file list should not corrupt a tar file
+#
+OBJ=$2
+cd ${OBJ}
+fail () {
+ rm -f a b foo.tar
+ echo "$*"
+ exit 1
+}
+echo a > a
+echo b > b
+echo a | pax -w -f foo.tar
+tar tf foo.tar | grep -q a || fail missing file a
+# append without a file list
+echo -n | pax -w -a -f foo.tar
+tar tf foo.tar > /dev/null || fail not a tar file
+# again
+echo | pax -w -a -f foo.tar
+tar tf foo.tar > /dev/null || fail not a tar file
+# append file
+echo b | pax -w -a -f foo.tar
+for i in a b; do
+ tar tf foo.tar | grep -q $i || fail missing file $i
+done
+rm -f a b foo.tar
diff --git a/regress/bin/pax/t6.sh b/regress/bin/pax/t6.sh
new file mode 100644
index 0000000..ff08466
--- /dev/null
+++ b/regress/bin/pax/t6.sh
@@ -0,0 +1,6 @@
+# $OpenBSD: t6.sh,v 1.1 2006/07/21 22:59:05 ray Exp $
+# Don't segfault if no file list is given.
+#
+OBJ=$2
+cd ${OBJ}
+cpio -o < /dev/null
diff --git a/regress/bin/test/Makefile b/regress/bin/test/Makefile
new file mode 100644
index 0000000..fa62c4d
--- /dev/null
+++ b/regress/bin/test/Makefile
@@ -0,0 +1,8 @@
+# $OpenBSD: Makefile,v 1.2 2012/08/21 15:30:48 matthew Exp $
+
+REGRESS_TARGETS= run_test
+
+run_test:
+ $(SHELL) $(.CURDIR)/TEST.sh >/dev/null
+
+include bsd.regress.mk
diff --git a/regress/bin/test/TEST.sh b/regress/bin/test/TEST.sh
new file mode 100644
index 0000000..eae6480
--- /dev/null
+++ b/regress/bin/test/TEST.sh
@@ -0,0 +1,139 @@
+#!/bin/sh
+#
+# Copyright (c) June 1996 Wolfram Schneider <wosch@FreeBSD.org>. Berlin.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# TEST.sh - check if test(1) or builtin test works
+#
+# $OpenBSD: TEST.sh,v 1.2 2014/11/25 23:09:22 daniel Exp $
+
+# force a specified test program, e.g. `env test=/bin/test sh TEST.sh'
+: ${test=test}
+
+ERROR=0 FAILED=0
+
+t ()
+{
+ # $1 -> exit code
+ # $2 -> $test expression
+
+ echo -n "$1: $test $2 "
+
+ # check for syntax errors
+ syntax="`eval $test $2 2>&1`"
+ if test -z "$syntax"; then
+
+ case $1 in
+ 0) if eval $test $2; then echo " OK"; else failed;fi;;
+ 1) if eval $test $2; then failed; else echo " OK";fi;;
+ esac
+
+ else
+ error
+ fi
+}
+
+error ()
+{
+ echo ""; echo " $syntax"
+ ERROR=`expr $ERROR + 1`
+}
+
+failed ()
+{
+ echo ""; echo " failed"
+ FAILED=`expr $FAILED + 1`
+}
+
+
+t 0 'b = b'
+t 1 'b != b'
+t 0 '\( b = b \)'
+t 1 '! \( b = b \)'
+t 1 '! -f /etc/passwd'
+
+t 0 '-h = -h'
+t 0 '-o = -o'
+t 1 '-f = h'
+t 1 '-h = f'
+t 1 '-o = f'
+t 1 'f = -o'
+t 0 '\( -h = -h \)'
+t 1 '\( a = -h \)'
+t 1 '\( -f = h \)'
+t 0 '-h = -h -o a'
+t 0 '\( -h = -h \) -o 1'
+t 0 '-h = -h -o -h = -h'
+t 0 '\( -h = -h \) -o \( -h = -h \)'
+t 0 'roedelheim = roedelheim'
+t 1 'potsdam = berlin-dahlem'
+
+t 0 '-d /'
+t 0 '-d / -a a != b'
+t 1 '-z "-z"'
+t 0 '-n -n'
+
+t 0 '0'
+t 0 '\( 0 \)'
+t 0 '-E'
+t 0 '-X -a -X'
+t 0 '-XXX'
+t 0 '\( -E \)'
+t 0 'true -o X'
+t 0 'true -o -X'
+t 0 '\( \( \( a = a \) -o 1 \) -a 1 \) -a true'
+t 1 '-h /'
+t 0 '-r /'
+t 1 '-w /bin/sh'
+t 0 '-x /bin/sh'
+t 0 '-c /dev/null'
+t 0 '-b /dev/fd0a -o -b /dev/rfd0a -o true'
+t 0 '-f /etc/passwd'
+t 0 '-s /etc/passwd'
+
+t 1 '! \( 700 -le 1000 -a -n "1" -a "20" = "20" \)'
+t 0 '100 -eq 100'
+t 0 '100 -lt 200'
+t 1 '1000 -lt 200'
+t 0 '1000 -gt 200'
+t 0 '1000 -ge 200'
+t 0 '1000 -ge 1000'
+t 1 '2 -ne 2'
+t 0 '0 -eq 0'
+t 1 '-5 -eq 5'
+t 0 '\( 0 -eq 0 \)'
+t 1 '1 -eq 0 -o a = a -a 1 -eq 0 -o a = aa'
+
+t 1 '"" -o ""'
+t 1 '"" -a ""'
+t 1 '"a" -a ""'
+t 0 '"a" -a ! ""'
+t 1 '""'
+t 0 '! ""'
+
+echo ""
+echo "Syntax errors: $ERROR Failed: $FAILED"
+[ $ERROR -gt 0 ] && exit 1
+[ $FAILED -gt 0 ] && exit 1
+exit 0
diff --git a/regress/sbin/Makefile b/regress/sbin/Makefile
new file mode 100644
index 0000000..a2bcd4c
--- /dev/null
+++ b/regress/sbin/Makefile
@@ -0,0 +1,8 @@
+SUBDIRS =
+
+BROKEN =
+
+include ../../mk/subdirs.mk
+
+$(BROKEN):
+ true
diff --git a/regress/usr.bin/Makefile b/regress/usr.bin/Makefile
new file mode 100644
index 0000000..fc880ac
--- /dev/null
+++ b/regress/usr.bin/Makefile
@@ -0,0 +1,9 @@
+SUBDIRS = bc calendar colrm column cut dc diff diff3 dirname file \
+ fmt fold grep jot tail tsort ul wc xargs
+
+BROKEN = grep bc calendar diff3
+
+include ../../mk/subdirs.mk
+
+$(BROKEN):
+ true
diff --git a/regress/usr.bin/bc/Makefile b/regress/usr.bin/bc/Makefile
new file mode 100644
index 0000000..3da192f
--- /dev/null
+++ b/regress/usr.bin/bc/Makefile
@@ -0,0 +1,50 @@
+# $OpenBSD: Makefile,v 1.12 2014/11/26 15:23:13 otto Exp $
+
+BC=bc
+
+LDFLAGS=-lm
+
+REGRESS_TARGETS=t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18\
+ t19test
+
+# .in: input file
+# .out: desired result
+
+# t1: bc.library
+# t2: while loop
+# t3: for loop
+# t4: deeply nested while loop
+# t5: function definition and call
+# t6: empty if statement
+# t7: assignment ops
+# t8: continue ops
+# t9: more continue
+# t10: for with empty E's
+# t11: if else
+# t12: print
+# t13: alternive forms of define and return
+# t14: compare
+# t15: boolean and
+# t16: boolean or
+# t17: long var names
+# t18: towers of hanoi
+# t19: check precions of -l functions against native computed values
+
+all: clean
+
+.SUFFIXES: .in
+
+.in:
+ @echo ${*}
+ @${BC} -d < ${.CURDIR}/${*}.in > ${*}.log
+ @cmp -s ${.CURDIR}/${*}.out ${*}.log || \
+ (echo "XXX ${*} failed" && false)
+
+t19test: t19
+ ./t19
+
+# Clean all files generated
+clean:
+ rm -f *.log t19
+
+include bsd.regress.mk
diff --git a/regress/usr.bin/bc/t1.in b/regress/usr.bin/bc/t1.in
new file mode 100644
index 0000000..e7b878c
--- /dev/null
+++ b/regress/usr.bin/bc/t1.in
@@ -0,0 +1,234 @@
+/* $OpenBSD: t1.in,v 1.1 2003/09/25 19:40:07 otto Exp $ */
+
+/*
+ * Copyright (C) Caldera International Inc. 2001-2002.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code and documentation must retain the above
+ * copyright notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed or owned by Caldera
+ * International, Inc.
+ * 4. Neither the name of Caldera International, Inc. nor the names of other
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+ * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT,
+ * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * @(#)bc.library 5.1 (Berkeley) 4/17/91
+ */
+
+scale = 20
+define e(x){
+ auto a, b, c, d, e, g, t, w, y
+
+ t = scale
+ scale = t + .434*x + 1
+
+ w = 0
+ if(x<0){
+ x = -x
+ w = 1
+ }
+ y = 0
+ while(x>2){
+ x = x/2
+ y = y + 1
+ }
+
+ a=1
+ b=1
+ c=b
+ d=1
+ e=1
+ for(a=1;1==1;a++){
+ b=b*x
+ c=c*a+b
+ d=d*a
+ g = c/d
+ if(g == e){
+ g = g/1
+ while(y--){
+ g = g*g
+ }
+ scale = t
+ if(w==1) return(1/g)
+ return(g/1)
+ }
+ e=g
+ }
+}
+
+define l(x){
+ auto a, b, c, d, e, f, g, u, s, t
+ if(x <=0) return(1-10^scale)
+ t = scale
+
+ f=1
+ scale = scale + scale(x) - length(x) + 1
+ s=scale
+ while(x > 2){
+ s = s + (length(x)-scale(x))/2 + 1
+ if(s>0) scale = s
+ x = sqrt(x)
+ f=f*2
+ }
+ while(x < .5){
+ s = s + (length(x)-scale(x))/2 + 1
+ if(s>0) scale = s
+ x = sqrt(x)
+ f=f*2
+ }
+
+ scale = t + length(f) - scale(f) + 1
+ u = (x-1)/(x+1)
+
+ scale = scale + 1.1*length(t) - 1.1*scale(t)
+ s = u*u
+ b = 2*f
+ c = b
+ d = 1
+ e = 1
+ for(a=3;1==1;a=a+2){
+ b=b*s
+ c=c*a+d*b
+ d=d*a
+ g=c/d
+ if(g==e){
+ scale = t
+ return(u*c/d)
+ }
+ e=g
+ }
+}
+
+define s(x){
+ auto a, b, c, s, t, y, p, n, i
+ t = scale
+ y = x/.7853
+ s = t + length(y) - scale(y)
+ if(s<t) s=t
+ scale = s
+ p = a(1)
+
+ scale = 0
+ if(x>=0) n = (x/(2*p)+1)/2
+ if(x<0) n = (x/(2*p)-1)/2
+ x = x - 4*n*p
+ if(n%2!=0) x = -x
+
+ scale = t + length(1.2*t) - scale(1.2*t)
+ y = -x*x
+ a = x
+ b = 1
+ s = x
+ for(i=3; 1==1; i=i+2){
+ a = a*y
+ b = b*i*(i-1)
+ c = a/b
+ if(c==0){scale=t; return(s/1)}
+ s = s+c
+ }
+}
+
+define c(x){
+ auto t
+ t = scale
+ scale = scale+1
+ x = s(x+2*a(1))
+ scale = t
+ return(x/1)
+}
+
+define a(x){
+ auto a, b, c, d, e, f, g, s, t
+ if(x==0) return(0)
+ if(x==1) {
+ if(scale<52) {
+ return(.7853981633974483096156608458198757210492923498437764/1)
+ }
+ }
+ t = scale
+ f=1
+ while(x > .5){
+ scale = scale + 1
+ x= -(1-sqrt(1.+x*x))/x
+ f=f*2
+ }
+ while(x < -.5){
+ scale = scale + 1
+ x = -(1-sqrt(1.+x*x))/x
+ f=f*2
+ }
+ s = -x*x
+ b = f
+ c = f
+ d = 1
+ e = 1
+ for(a=3;1==1;a=a+2){
+ b=b*s
+ c=c*a+d*b
+ d=d*a
+ g=c/d
+ if(g==e){
+ scale = t
+ return(x*c/d)
+ }
+ e=g
+ }
+}
+
+define j(n,x){
+ auto a,b,c,d,e,g,i,s,k,t
+
+ t = scale
+ k = 1.36*x + 1.16*t - n
+ k = length(k) - scale(k)
+ if(k>0) scale = scale + k
+
+ s= -x*x/4
+ if(n<0){
+ n= -n
+ x= -x
+ }
+ a=1
+ c=1
+ for(i=1;i<=n;i++){
+ a=a*x
+ c = c*2*i
+ }
+ b=a
+ d=1
+ e=1
+ for(i=1;1;i++){
+ a=a*s
+ b=b*i*(n+i) + a
+ c=c*i*(n+i)
+ g=b/c
+ if(g==e){
+ scale = t
+ return(g/1)
+ }
+ e=g
+ }
+}
diff --git a/regress/usr.bin/bc/t1.log b/regress/usr.bin/bc/t1.log
new file mode 100644
index 0000000..246913c
--- /dev/null
+++ b/regress/usr.bin/bc/t1.log
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+ 20k
+[ 0lx-sx 1sw]s0
+[lx 2/sxly 1+sylx 2<1]s1
+[lglg*sglyd1-sy 0!=4]s4
+[ 1lg/Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys. 4Q]s5
+[lg 1/sglyd1-sy 0!=4 ltklw 1=5 lg 1/Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys. 3Q]s3
+[lblx*sblcla*lb+scldla*sdlcld/sglgle=3 lgselad1+sas. 1 1=2]s2
+[0Sy0Sw0St0Sg0Se0Sd0Sc0Sb0SaSxKstlt .434lx*+ 1+k 0swlx 0>0 0sylx 2<1 1sa 1sblbsc 1sd 1se 1dsas. 1 1=2 Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys.0 1Q]s
+
+
+
+[ 1 10K^-Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lus.Lss.Lts. 2Q]s6
+[lsk]s8
+[lslxZlxX- 2/+ 1+ssls 0<8 lxvsxlf 2*sflx 2<7]s7
+[lsk]s:
+[lslxZlxX- 2/+ 1+ssls 0<: lxvsxlf 2*sflx .5>9]s9
+[ltklulc*ld/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lus.Lss.Lts. 3Q]s<
+[lbls*sblcla*ldlb*+scldla*sdlcld/sglgle=< lgsela 2+dsas. 1 1=;]s;
+[0St0Ss0Su0Sg0Sf0Se0Sd0Sc0Sb0SaSxlx 0!<6 Kst 1sfKlxX+lxZ- 1+kKsslx 2<7 lx .5>9 ltlfZ+lfX- 1+klx 1-lx 1+/suK 1.1ltZ*+ 1.1ltX*-klulu*ss 2lf*sblbsc 1sd 1se 3dsas. 1 1=; Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lus.Lss.Lts.0 1Q]s
+
+
+
+[ltss]s=
+[lx 2lp*/ 1+ 2/sn]s>
+[lx 2lp*/ 1- 2/sn]s?
+[ 0lx-sx]s@
+[ltkls 1/Lxs.Las.Lbs.Lcs.Lss.Lts.Lys.Lps.Lns.Lis. 3Q]sB
+[laly*salbli*li 1-*sblalb/sclc 0=B lslc+ssli 2+dsis. 1 1=A]sA
+[0Si0Sn0Sp0Sy0St0Ss0Sc0Sb0SaSxKstlx .7853/syltlyZ+lyX-sslslt>= lsk 1lxsp 0klx 0!>> lx 0>? lx 4ln*lp*-sxln 2% 0!=@ lt 1.2lt*Z+ 1.2lt*X-k 0lx-lx*sylxsa 1sblxss 3dsis. 1 1=A Lxs.Las.Lbs.Lcs.Lss.Lts.Lys.Lps.Lns.Lis.0 1Q]s
+
+
+
+[0StSxKstK 1+klx 2 1lx*+lxsxltklx 1/Lxs.Lts. 1QLxs.Lts.0 1Q]s
+
+
+
+[ 0Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 2Q]sC
+[ .7853981633974483096156608458198757210492923498437764 1/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 3Q]sE
+[K 52>E ]sD
+[K 1+k 0 1 1.lxlx*+v--lx/sxlf 2*sflx .5<F]sF
+[K 1+k 0 1 1.lxlx*+v--lx/sxlf 2*sflx 0 .5->G]sG
+[ltklxlc*ld/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 3Q]sI
+[lbls*sblcla*ldlb*+scldla*sdlcld/sglgle=I lgsela 2+dsas. 1 1=H]sH
+[0St0Ss0Sg0Sf0Se0Sd0Sc0Sb0SaSxlx 0=C lx 1=D Kst 1sflx .5<F lx 0 .5->G 0lx-lx*sslfsblfsc 1sd 1se 3dsas. 1 1=H Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts.0 1Q]s
+
+
+
+[Klk+k]sJ
+[ 0ln-sn 0lx-sx]sK
+[lalx*salc 2*li*sclid1+sis.liln!<L]sL
+[ltklg 1/Lns.Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lis.Lss.Lks.Lts. 3Q]sN
+[lals*salbli*lnli+*la+sblcli*lnli+*sclblc/sglgle=N lgselid1+sis. 1 0!=M]sM
+[0St0Sk0Ss0Si0Sg0Se0Sd0Sc0Sb0SaSxSnKst 1.36lx* 1.16lt*+ln-sklkZlkX-sklk 0<J 0lx-lx* 4/ssln 0>K 1sa 1sc 1dsis.liln!<L lasb 1sd 1se 1dsis. 1 0!=M Lns.Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lis.Lss.Lks.Lts.0 1Q]s
+
+
+
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t1.out b/regress/usr.bin/bc/t1.out
new file mode 100644
index 0000000..246913c
--- /dev/null
+++ b/regress/usr.bin/bc/t1.out
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+ 20k
+[ 0lx-sx 1sw]s0
+[lx 2/sxly 1+sylx 2<1]s1
+[lglg*sglyd1-sy 0!=4]s4
+[ 1lg/Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys. 4Q]s5
+[lg 1/sglyd1-sy 0!=4 ltklw 1=5 lg 1/Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys. 3Q]s3
+[lblx*sblcla*lb+scldla*sdlcld/sglgle=3 lgselad1+sas. 1 1=2]s2
+[0Sy0Sw0St0Sg0Se0Sd0Sc0Sb0SaSxKstlt .434lx*+ 1+k 0swlx 0>0 0sylx 2<1 1sa 1sblbsc 1sd 1se 1dsas. 1 1=2 Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lts.Lws.Lys.0 1Q]s
+
+
+
+[ 1 10K^-Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lus.Lss.Lts. 2Q]s6
+[lsk]s8
+[lslxZlxX- 2/+ 1+ssls 0<8 lxvsxlf 2*sflx 2<7]s7
+[lsk]s:
+[lslxZlxX- 2/+ 1+ssls 0<: lxvsxlf 2*sflx .5>9]s9
+[ltklulc*ld/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lus.Lss.Lts. 3Q]s<
+[lbls*sblcla*ldlb*+scldla*sdlcld/sglgle=< lgsela 2+dsas. 1 1=;]s;
+[0St0Ss0Su0Sg0Sf0Se0Sd0Sc0Sb0SaSxlx 0!<6 Kst 1sfKlxX+lxZ- 1+kKsslx 2<7 lx .5>9 ltlfZ+lfX- 1+klx 1-lx 1+/suK 1.1ltZ*+ 1.1ltX*-klulu*ss 2lf*sblbsc 1sd 1se 3dsas. 1 1=; Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lus.Lss.Lts.0 1Q]s
+
+
+
+[ltss]s=
+[lx 2lp*/ 1+ 2/sn]s>
+[lx 2lp*/ 1- 2/sn]s?
+[ 0lx-sx]s@
+[ltkls 1/Lxs.Las.Lbs.Lcs.Lss.Lts.Lys.Lps.Lns.Lis. 3Q]sB
+[laly*salbli*li 1-*sblalb/sclc 0=B lslc+ssli 2+dsis. 1 1=A]sA
+[0Si0Sn0Sp0Sy0St0Ss0Sc0Sb0SaSxKstlx .7853/syltlyZ+lyX-sslslt>= lsk 1lxsp 0klx 0!>> lx 0>? lx 4ln*lp*-sxln 2% 0!=@ lt 1.2lt*Z+ 1.2lt*X-k 0lx-lx*sylxsa 1sblxss 3dsis. 1 1=A Lxs.Las.Lbs.Lcs.Lss.Lts.Lys.Lps.Lns.Lis.0 1Q]s
+
+
+
+[0StSxKstK 1+klx 2 1lx*+lxsxltklx 1/Lxs.Lts. 1QLxs.Lts.0 1Q]s
+
+
+
+[ 0Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 2Q]sC
+[ .7853981633974483096156608458198757210492923498437764 1/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 3Q]sE
+[K 52>E ]sD
+[K 1+k 0 1 1.lxlx*+v--lx/sxlf 2*sflx .5<F]sF
+[K 1+k 0 1 1.lxlx*+v--lx/sxlf 2*sflx 0 .5->G]sG
+[ltklxlc*ld/Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts. 3Q]sI
+[lbls*sblcla*ldlb*+scldla*sdlcld/sglgle=I lgsela 2+dsas. 1 1=H]sH
+[0St0Ss0Sg0Sf0Se0Sd0Sc0Sb0SaSxlx 0=C lx 1=D Kst 1sflx .5<F lx 0 .5->G 0lx-lx*sslfsblfsc 1sd 1se 3dsas. 1 1=H Lxs.Las.Lbs.Lcs.Lds.Les.Lfs.Lgs.Lss.Lts.0 1Q]s
+
+
+
+[Klk+k]sJ
+[ 0ln-sn 0lx-sx]sK
+[lalx*salc 2*li*sclid1+sis.liln!<L]sL
+[ltklg 1/Lns.Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lis.Lss.Lks.Lts. 3Q]sN
+[lals*salbli*lnli+*la+sblcli*lnli+*sclblc/sglgle=N lgselid1+sis. 1 0!=M]sM
+[0St0Sk0Ss0Si0Sg0Se0Sd0Sc0Sb0SaSxSnKst 1.36lx* 1.16lt*+ln-sklkZlkX-sklk 0<J 0lx-lx* 4/ssln 0>K 1sa 1sc 1dsis.liln!<L lasb 1sd 1se 1dsis. 1 0!=M Lns.Lxs.Las.Lbs.Lcs.Lds.Les.Lgs.Lis.Lss.Lks.Lts.0 1Q]s
+
+
+
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t10.in b/regress/usr.bin/bc/t10.in
new file mode 100644
index 0000000..eab5068
--- /dev/null
+++ b/regress/usr.bin/bc/t10.in
@@ -0,0 +1,4 @@
+for (;;) {
+}
+for (;a<1;)
+for (a=1;a<1;)
diff --git a/regress/usr.bin/bc/t10.log b/regress/usr.bin/bc/t10.log
new file mode 100644
index 0000000..fd522db
--- /dev/null
+++ b/regress/usr.bin/bc/t10.log
@@ -0,0 +1,7 @@
+[ 0s. 0 0=0]s0
+ 0s. 0 0=0
+[ 0s.la 1>0]s0
+ 0s.la 1>0
+[ 0s.la 1>0]s0
+ 1dsas.la 1>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t10.out b/regress/usr.bin/bc/t10.out
new file mode 100644
index 0000000..fd522db
--- /dev/null
+++ b/regress/usr.bin/bc/t10.out
@@ -0,0 +1,7 @@
+[ 0s. 0 0=0]s0
+ 0s. 0 0=0
+[ 0s.la 1>0]s0
+ 0s.la 1>0
+[ 0s.la 1>0]s0
+ 1dsas.la 1>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t11.in b/regress/usr.bin/bc/t11.in
new file mode 100644
index 0000000..afd46f4
--- /dev/null
+++ b/regress/usr.bin/bc/t11.in
@@ -0,0 +1,12 @@
+for (i = 0; i < 5; i++) {
+ if (i > 0) {
+ if (i < 3) {
+ "i > 0 && i < 3"
+ } else {
+ "i > 0 && i >= 3"
+ }
+ } else "i == 0"
+ " "
+ if (i == 0) "0 " else if (i == 1) "1 " else "* "
+ i
+}
diff --git a/regress/usr.bin/bc/t11.log b/regress/usr.bin/bc/t11.log
new file mode 100644
index 0000000..4f77102
--- /dev/null
+++ b/regress/usr.bin/bc/t11.log
@@ -0,0 +1,11 @@
+[[i > 0 && i < 3]P]s2
+[[i > 0 && i >= 3]P]s3
+[li 3>2e3 ]s1
+[[i == 0]P]s4
+[[1 ]P]s7
+[[* ]P]s8
+[[0 ]P]s5
+[li 1=7e8 ]s6
+[li 0<1e4 [ ]Pli 0=5e6 lips.lid1+sis.li 5>0]s0
+ 0dsis.li 5>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t11.out b/regress/usr.bin/bc/t11.out
new file mode 100644
index 0000000..4f77102
--- /dev/null
+++ b/regress/usr.bin/bc/t11.out
@@ -0,0 +1,11 @@
+[[i > 0 && i < 3]P]s2
+[[i > 0 && i >= 3]P]s3
+[li 3>2e3 ]s1
+[[i == 0]P]s4
+[[1 ]P]s7
+[[* ]P]s8
+[[0 ]P]s5
+[li 1=7e8 ]s6
+[li 0<1e4 [ ]Pli 0=5e6 lips.lid1+sis.li 5>0]s0
+ 0dsis.li 5>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t12.in b/regress/usr.bin/bc/t12.in
new file mode 100644
index 0000000..85c9355
--- /dev/null
+++ b/regress/usr.bin/bc/t12.in
@@ -0,0 +1,5 @@
+print 1,.,1+1,"",3
+"X\Y"
+print "\a\b\t\f\n\q\ra\\b[]
+foo"
+.
diff --git a/regress/usr.bin/bc/t12.log b/regress/usr.bin/bc/t12.log
new file mode 100644
index 0000000..7899fec
--- /dev/null
+++ b/regress/usr.bin/bc/t12.log
@@ -0,0 +1,7 @@
+ 1ds.nl.ds.n 1 1+ds.n[]n 3ds.n
+[X\\Y]P
+[
+" a\\b\[\]
+foo]n
+l.ps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t12.out b/regress/usr.bin/bc/t12.out
new file mode 100644
index 0000000..7899fec
--- /dev/null
+++ b/regress/usr.bin/bc/t12.out
@@ -0,0 +1,7 @@
+ 1ds.nl.ds.n 1 1+ds.n[]n 3ds.n
+[X\\Y]P
+[
+" a\\b\[\]
+foo]n
+l.ps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t13.in b/regress/usr.bin/bc/t13.in
new file mode 100644
index 0000000..55ebdb8
--- /dev/null
+++ b/regress/usr.bin/bc/t13.in
@@ -0,0 +1,11 @@
+#line comment
+#
+define f() {
+ return
+ return 1+2
+ return (1+2)
+ return ()
+}
+define f()
+{
+}
diff --git a/regress/usr.bin/bc/t13.log b/regress/usr.bin/bc/t13.log
new file mode 100644
index 0000000..d2401a8
--- /dev/null
+++ b/regress/usr.bin/bc/t13.log
@@ -0,0 +1,9 @@
+
+
+[0 1Q 1 2+ 1Q 1 2+ 1Q0 1Q0 1Q]s
+
+
+[0 1Q]s
+
+
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t13.out b/regress/usr.bin/bc/t13.out
new file mode 100644
index 0000000..d2401a8
--- /dev/null
+++ b/regress/usr.bin/bc/t13.out
@@ -0,0 +1,9 @@
+
+
+[0 1Q 1 2+ 1Q 1 2+ 1Q0 1Q0 1Q]s
+
+
+[0 1Q]s
+
+
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t14.in b/regress/usr.bin/bc/t14.in
new file mode 100644
index 0000000..8f01715
--- /dev/null
+++ b/regress/usr.bin/bc/t14.in
@@ -0,0 +1,28 @@
+if ((0 == 0)) "ok" else "nok"
+if ((1 == 0)) "nok" else "ok"
+if ((0 == 1)) "nok" else "ok"
+print "\n"
+if ((0 != 0)) "nok" else "ok"
+if ((1 != 0)) "ok" else "nok"
+if ((0 != 1)) "ok" else "nok"
+print "\n"
+if ((0 == 0)) "ok" else "nok"
+if ((1 == 0)) "nok" else "ok"
+if ((0 == 1)) "nok" else "ok"
+print "\n"
+if ((0 < 1)) "ok" else "nok"
+if ((1 < 0)) "nok" else "ok"
+if ((1 < 1)) "nok" else "ok"
+print "\n"
+if ((0 <= 1)) "ok" else "nok"
+if ((1 <= 0)) "nok" else "ok"
+if ((1 <= 1)) "ok" else "nok"
+print "\n"
+if ((0 > 1)) "nok" else "ok"
+if ((1 > 0)) "ok" else "nok"
+if ((1 > 1)) "nok" else "ok"
+print "\n"
+if ((0 >= 1)) "nok" else "ok"
+if ((1 >= 0)) "ok" else "nok"
+if ((1 >= 1)) "ok" else "nok"
+print "\n"
diff --git a/regress/usr.bin/bc/t14.log b/regress/usr.bin/bc/t14.log
new file mode 100644
index 0000000..cd4a5da
--- /dev/null
+++ b/regress/usr.bin/bc/t14.log
@@ -0,0 +1,78 @@
+[[ok]P]s0
+[[nok]P]s1
+ 0 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1G 0!=0e1
+[
+]n
+[[nok]P]s0
+[[ok]P]s1
+ 0 0GN 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 0GN 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 0 1GN 0!=0e1
+[
+]n
+[[ok]P]s0
+[[nok]P]s1
+ 0 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1G 0!=0e1
+[
+]n
+[[ok]P]s0
+[[nok]P]s1
+ 1 0( 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1( 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 1( 0!=0e1
+[
+]n
+[[ok]P]s0
+[[nok]P]s1
+ 1 0{ 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1{ 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 1{ 0!=0e1
+[
+]n
+[[nok]P]s0
+[[ok]P]s1
+ 0 1( 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 0( 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 1( 0!=0e1
+[
+]n
+[[nok]P]s0
+[[ok]P]s1
+ 0 1{ 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 0{ 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 1{ 0!=0e1
+[
+]n
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t14.out b/regress/usr.bin/bc/t14.out
new file mode 100644
index 0000000..cd4a5da
--- /dev/null
+++ b/regress/usr.bin/bc/t14.out
@@ -0,0 +1,78 @@
+[[ok]P]s0
+[[nok]P]s1
+ 0 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1G 0!=0e1
+[
+]n
+[[nok]P]s0
+[[ok]P]s1
+ 0 0GN 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 0GN 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 0 1GN 0!=0e1
+[
+]n
+[[ok]P]s0
+[[nok]P]s1
+ 0 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 0G 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1G 0!=0e1
+[
+]n
+[[ok]P]s0
+[[nok]P]s1
+ 1 0( 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1( 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 1( 0!=0e1
+[
+]n
+[[ok]P]s0
+[[nok]P]s1
+ 1 0{ 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 0 1{ 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 1{ 0!=0e1
+[
+]n
+[[nok]P]s0
+[[ok]P]s1
+ 0 1( 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 0( 0!=0e1
+[[nok]P]s0
+[[ok]P]s1
+ 1 1( 0!=0e1
+[
+]n
+[[nok]P]s0
+[[ok]P]s1
+ 0 1{ 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 0{ 0!=0e1
+[[ok]P]s0
+[[nok]P]s1
+ 1 1{ 0!=0e1
+[
+]n
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t15.in b/regress/usr.bin/bc/t15.in
new file mode 100644
index 0000000..692d88b
--- /dev/null
+++ b/regress/usr.bin/bc/t15.in
@@ -0,0 +1,24 @@
+if (1 && 2) "ok1"
+if (0 && 2) "nok2" else "ok2"
+if (3 && 0) "nok3" else "ok3"
+if (0 && 0) "nok4" else "ok4"
+if (0 && 0 && 0) "nok5" else "ok5"
+if (0 && 1 && 0) "nok6" else "ok6"
+if (1 && 1 && 1) "ok7" else "nok7"
+print "\n"
+define f() {
+ "f"
+}
+define g() {
+ "g"
+ return 1
+}
+if (f() && g()) {
+ "nok8"
+} else "ok8"
+if (!f() && g()) {
+ "ok9"
+} else "nok9"
+print "\n"
+if (1 < 2 && 3 < 4) "ok10" else "nok10"
+print "\n"
diff --git a/regress/usr.bin/bc/t15.log b/regress/usr.bin/bc/t15.log
new file mode 100644
index 0000000..a23127d
--- /dev/null
+++ b/regress/usr.bin/bc/t15.log
@@ -0,0 +1,55 @@
+[R 2]s1
+[[ok1]P]s0
+ 1d0!=1 0!=0
+[R 2]s1
+[[nok2]P]s0
+[[ok2]P]s2
+ 0d0!=1 0!=0e2
+[R 0]s1
+[[nok3]P]s0
+[[ok3]P]s2
+ 3d0!=1 0!=0e2
+[R 0]s1
+[[nok4]P]s0
+[[ok4]P]s2
+ 0d0!=1 0!=0e2
+[R 0]s1
+[R 0]s2
+[[nok5]P]s0
+[[ok5]P]s3
+ 0d0!=1d0!=2 0!=0e3
+[R 1]s1
+[R 0]s2
+[[nok6]P]s0
+[[ok6]P]s3
+ 0d0!=1d0!=2 0!=0e3
+[R 1]s1
+[R 1]s2
+[[ok7]P]s0
+[[nok7]P]s3
+ 1d0!=1d0!=2 0!=0e3
+[
+]n
+[[f]P0 1Q]s
+
+
+[[g]P 1 1Q0 1Q]s
+
+
+[Rlx]s1
+[[nok8]P]s0
+[[ok8]P]s2
+lxd0!=1 0!=0e2
+[Rlx]s1
+[[ok9]P]s0
+[[nok9]P]s2
+lxNd0!=1 0!=0e2
+[
+]n
+[R 4 3(]s1
+[[ok10]P]s0
+[[nok10]P]s2
+ 2 1(d0!=1 0!=0e2
+[
+]n
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t15.out b/regress/usr.bin/bc/t15.out
new file mode 100644
index 0000000..a23127d
--- /dev/null
+++ b/regress/usr.bin/bc/t15.out
@@ -0,0 +1,55 @@
+[R 2]s1
+[[ok1]P]s0
+ 1d0!=1 0!=0
+[R 2]s1
+[[nok2]P]s0
+[[ok2]P]s2
+ 0d0!=1 0!=0e2
+[R 0]s1
+[[nok3]P]s0
+[[ok3]P]s2
+ 3d0!=1 0!=0e2
+[R 0]s1
+[[nok4]P]s0
+[[ok4]P]s2
+ 0d0!=1 0!=0e2
+[R 0]s1
+[R 0]s2
+[[nok5]P]s0
+[[ok5]P]s3
+ 0d0!=1d0!=2 0!=0e3
+[R 1]s1
+[R 0]s2
+[[nok6]P]s0
+[[ok6]P]s3
+ 0d0!=1d0!=2 0!=0e3
+[R 1]s1
+[R 1]s2
+[[ok7]P]s0
+[[nok7]P]s3
+ 1d0!=1d0!=2 0!=0e3
+[
+]n
+[[f]P0 1Q]s
+
+
+[[g]P 1 1Q0 1Q]s
+
+
+[Rlx]s1
+[[nok8]P]s0
+[[ok8]P]s2
+lxd0!=1 0!=0e2
+[Rlx]s1
+[[ok9]P]s0
+[[nok9]P]s2
+lxNd0!=1 0!=0e2
+[
+]n
+[R 4 3(]s1
+[[ok10]P]s0
+[[nok10]P]s2
+ 2 1(d0!=1 0!=0e2
+[
+]n
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t16.in b/regress/usr.bin/bc/t16.in
new file mode 100644
index 0000000..eef9249
--- /dev/null
+++ b/regress/usr.bin/bc/t16.in
@@ -0,0 +1,24 @@
+if (0 || 0) "nok1" else "ok1"
+if (1 || 0) "ok2" else "nok2"
+if (0 || 1) "ok3" else "nok3"
+if (1 || 1) "ok4" else "nok4"
+print "\n"
+
+define f() {
+ "f";
+ return 0
+}
+define g() {
+ "g";
+ return 0
+}
+define h() {
+ "h";
+ return 1
+}
+
+if (f() || g() || h()) "ok5" else "nok5"
+if (f() || g() || !h()) "nok6" else "ok6"
+if (f() || !h() || g()) "nok7" else "ok7"
+
+print "\n"
diff --git a/regress/usr.bin/bc/t16.log b/regress/usr.bin/bc/t16.log
new file mode 100644
index 0000000..cf01ac7
--- /dev/null
+++ b/regress/usr.bin/bc/t16.log
@@ -0,0 +1,48 @@
+[R 0]s1
+[[nok1]P]s0
+[[ok1]P]s2
+ 0d0=1 0!=0e2
+[R 0]s1
+[[ok2]P]s0
+[[nok2]P]s2
+ 1d0=1 0!=0e2
+[R 1]s1
+[[ok3]P]s0
+[[nok3]P]s2
+ 0d0=1 0!=0e2
+[R 1]s1
+[[ok4]P]s0
+[[nok4]P]s2
+ 1d0=1 0!=0e2
+[
+]n
+
+[[f]P 0 1Q0 1Q]s
+
+
+[[g]P 0 1Q0 1Q]s
+
+
+[[h]P 1 1Q0 1Q]s
+
+
+
+[Rlx]s1
+[Rlx]s2
+[[ok5]P]s0
+[[nok5]P]s3
+lxd0=1d0=2 0!=0e3
+[Rlx]s1
+[RlxN]s2
+[[nok6]P]s0
+[[ok6]P]s3
+lxd0=1d0=2 0!=0e3
+[RlxN]s1
+[Rlx]s2
+[[nok7]P]s0
+[[ok7]P]s3
+lxd0=1d0=2 0!=0e3
+
+[
+]n
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t16.out b/regress/usr.bin/bc/t16.out
new file mode 100644
index 0000000..cf01ac7
--- /dev/null
+++ b/regress/usr.bin/bc/t16.out
@@ -0,0 +1,48 @@
+[R 0]s1
+[[nok1]P]s0
+[[ok1]P]s2
+ 0d0=1 0!=0e2
+[R 0]s1
+[[ok2]P]s0
+[[nok2]P]s2
+ 1d0=1 0!=0e2
+[R 1]s1
+[[ok3]P]s0
+[[nok3]P]s2
+ 0d0=1 0!=0e2
+[R 1]s1
+[[ok4]P]s0
+[[nok4]P]s2
+ 1d0=1 0!=0e2
+[
+]n
+
+[[f]P 0 1Q0 1Q]s
+
+
+[[g]P 0 1Q0 1Q]s
+
+
+[[h]P 1 1Q0 1Q]s
+
+
+
+[Rlx]s1
+[Rlx]s2
+[[ok5]P]s0
+[[nok5]P]s3
+lxd0=1d0=2 0!=0e3
+[Rlx]s1
+[RlxN]s2
+[[nok6]P]s0
+[[ok6]P]s3
+lxd0=1d0=2 0!=0e3
+[RlxN]s1
+[Rlx]s2
+[[nok7]P]s0
+[[ok7]P]s3
+lxd0=1d0=2 0!=0e3
+
+[
+]n
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t17.in b/regress/usr.bin/bc/t17.in
new file mode 100644
index 0000000..2a1b242
--- /dev/null
+++ b/regress/usr.bin/bc/t17.in
@@ -0,0 +1,566 @@
+a=97
+b=98
+c=99
+d=100
+e=101
+f=102
+g=103
+h=104
+i=105
+j=106
+k=107
+l=108
+m=109
+n=110
+o=111
+p=112
+q=113
+r=114
+s=115
+t=116
+u=117
+v=118
+w=119
+x=120
+y=121
+z=122
+_=123
+a0=0
+a1=1
+a2=2
+a3=3
+a4=4
+a5=5
+a6=6
+a7=7
+a8=8
+a9=9
+a10=10
+a11=11
+a12=12
+a13=13
+a14=14
+a15=15
+a16=16
+a17=17
+a18=18
+a19=19
+a20=20
+a21=21
+a22=22
+a23=23
+a24=24
+a25=25
+a26=26
+a27=27
+a28=28
+a29=29
+a30=30
+a31=31
+a32=32
+a33=33
+a34=34
+a35=35
+a36=36
+a37=37
+a38=38
+a39=39
+a40=40
+a41=41
+a42=42
+a43=43
+a44=44
+a45=45
+a46=46
+a47=47
+a48=48
+a49=49
+a50=50
+a51=51
+a52=52
+a53=53
+a54=54
+a55=55
+a56=56
+a57=57
+a58=58
+a59=59
+a60=60
+a61=61
+a62=62
+a63=63
+a64=64
+a65=65
+a66=66
+a67=67
+a68=68
+a69=69
+a70=70
+a71=71
+a72=72
+a73=73
+a74=74
+a75=75
+a76=76
+a77=77
+a78=78
+a79=79
+a80=80
+a81=81
+a82=82
+a83=83
+a84=84
+a85=85
+a86=86
+a87=87
+a88=88
+a89=89
+a90=90
+a91=91
+a92=92
+a93=93
+a94=94
+a95=95
+a96=96
+a97=97
+a98=98
+a99=99
+a100=100
+a101=101
+a102=102
+a103=103
+a104=104
+a105=105
+a106=106
+a107=107
+a108=108
+a109=109
+a110=110
+a111=111
+a112=112
+a113=113
+a114=114
+a115=115
+a116=116
+a117=117
+a118=118
+a119=119
+a120=120
+a121=121
+a122=122
+a123=123
+a124=124
+a125=125
+a126=126
+a127=127
+a128=128
+a129=129
+a130=130
+a131=131
+a132=132
+a133=133
+a134=134
+a135=135
+a136=136
+a137=137
+a138=138
+a139=139
+a140=140
+a141=141
+a142=142
+a143=143
+a144=144
+a145=145
+a146=146
+a147=147
+a148=148
+a149=149
+a150=150
+a151=151
+a152=152
+a153=153
+a154=154
+a155=155
+a156=156
+a157=157
+a158=158
+a159=159
+a160=160
+a161=161
+a162=162
+a163=163
+a164=164
+a165=165
+a166=166
+a167=167
+a168=168
+a169=169
+a170=170
+a171=171
+a172=172
+a173=173
+a174=174
+a175=175
+a176=176
+a177=177
+a178=178
+a179=179
+a180=180
+a181=181
+a182=182
+a183=183
+a184=184
+a185=185
+a186=186
+a187=187
+a188=188
+a189=189
+a190=190
+a191=191
+a192=192
+a193=193
+a194=194
+a195=195
+a196=196
+a197=197
+a198=198
+a199=199
+a200=200
+a201=201
+a202=202
+a203=203
+a204=204
+a205=205
+a206=206
+a207=207
+a208=208
+a209=209
+a210=210
+a211=211
+a212=212
+a213=213
+a214=214
+a215=215
+a216=216
+a217=217
+a218=218
+a219=219
+a220=220
+a221=221
+a222=222
+a223=223
+a224=224
+a225=225
+a226=226
+a227=227
+a228=228
+a229=229
+a230=230
+a231=231
+a232=232
+a233=233
+a234=234
+a235=235
+a236=236
+a237=237
+a238=238
+a239=239
+a240=240
+a241=241
+a242=242
+a243=243
+a244=244
+a245=245
+a246=246
+a247=247
+a248=248
+a249=249
+a250=250
+a251=251
+a252=252
+a253=253
+a254=254
+a255=255
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+m
+n
+o
+p
+q
+r
+s
+t
+u
+v
+w
+x
+y
+z
+_
+a0
+a1
+a2
+a3
+a4
+a5
+a6
+a7
+a8
+a9
+a10
+a11
+a12
+a13
+a14
+a15
+a16
+a17
+a18
+a19
+a20
+a21
+a22
+a23
+a24
+a25
+a26
+a27
+a28
+a29
+a30
+a31
+a32
+a33
+a34
+a35
+a36
+a37
+a38
+a39
+a40
+a41
+a42
+a43
+a44
+a45
+a46
+a47
+a48
+a49
+a50
+a51
+a52
+a53
+a54
+a55
+a56
+a57
+a58
+a59
+a60
+a61
+a62
+a63
+a64
+a65
+a66
+a67
+a68
+a69
+a70
+a71
+a72
+a73
+a74
+a75
+a76
+a77
+a78
+a79
+a80
+a81
+a82
+a83
+a84
+a85
+a86
+a87
+a88
+a89
+a90
+a91
+a92
+a93
+a94
+a95
+a96
+a97
+a98
+a99
+a100
+a101
+a102
+a103
+a104
+a105
+a106
+a107
+a108
+a109
+a110
+a111
+a112
+a113
+a114
+a115
+a116
+a117
+a118
+a119
+a120
+a121
+a122
+a123
+a124
+a125
+a126
+a127
+a128
+a129
+a130
+a131
+a132
+a133
+a134
+a135
+a136
+a137
+a138
+a139
+a140
+a141
+a142
+a143
+a144
+a145
+a146
+a147
+a148
+a149
+a150
+a151
+a152
+a153
+a154
+a155
+a156
+a157
+a158
+a159
+a160
+a161
+a162
+a163
+a164
+a165
+a166
+a167
+a168
+a169
+a170
+a171
+a172
+a173
+a174
+a175
+a176
+a177
+a178
+a179
+a180
+a181
+a182
+a183
+a184
+a185
+a186
+a187
+a188
+a189
+a190
+a191
+a192
+a193
+a194
+a195
+a196
+a197
+a198
+a199
+a200
+a201
+a202
+a203
+a204
+a205
+a206
+a207
+a208
+a209
+a210
+a211
+a212
+a213
+a214
+a215
+a216
+a217
+a218
+a219
+a220
+a221
+a222
+a223
+a224
+a225
+a226
+a227
+a228
+a229
+a230
+a231
+a232
+a233
+a234
+a235
+a236
+a237
+a238
+a239
+a240
+a241
+a242
+a243
+a244
+a245
+a246
+a247
+a248
+a249
+a250
+a251
+a252
+a253
+a254
+a255
diff --git a/regress/usr.bin/bc/t17.log b/regress/usr.bin/bc/t17.log
new file mode 100644
index 0000000..afa55d4
--- /dev/null
+++ b/regress/usr.bin/bc/t17.log
@@ -0,0 +1,569 @@
+ 97sa
+ 98sb
+ 99sc
+ 100sd
+ 101se
+ 102sf
+ 103sg
+ 104sh
+ 105si
+ 106sj
+ 107sk
+ 108sl
+ 109sm
+ 110sn
+ 111so
+ 112sp
+ 113sq
+ 114sr
+ 115ss
+ 116st
+ 117su
+ 118sv
+ 119sw
+ 120sx
+ 121sy
+ 122sz
+ 123s
+ 0s
+ 1s
+ 2s
+ 3s
+ 4s
+ 5s
+ 6s
+ 7s
+ 8s
+
+ 9s
+ 10s
+ 11s
+ 12s
+ 13s
+ 14s
+ 15s
+ 16s
+ 17s
+ 18s
+ 19s
+ 20s
+ 21s
+ 22s
+ 23s
+ 24s
+ 25s
+ 26s
+ 27s
+ 28s
+ 29s
+ 30s
+ 31s!
+ 32s"
+ 33s#
+ 34s$
+ 35s%
+ 36s&
+ 37s'
+ 38s(
+ 39s)
+ 40s*
+ 41s+
+ 42s,
+ 43s-
+ 44s.
+ 45s/
+ 46s0
+ 47s1
+ 48s2
+ 49s3
+ 50s4
+ 51s5
+ 52s6
+ 53s7
+ 54s8
+ 55s9
+ 56s:
+ 57s;
+ 58s<
+ 59s=
+ 60s>
+ 61s?
+ 62s@
+ 63sA
+ 64sB
+ 65sC
+ 66sD
+ 67sE
+ 68sF
+ 69sG
+ 70sH
+ 71sI
+ 72sJ
+ 73sK
+ 74sL
+ 75sM
+ 76sN
+ 77sO
+ 78sP
+ 79sQ
+ 80sR
+ 81sS
+ 82sT
+ 83sU
+ 84sV
+ 85sW
+ 86sX
+ 87sY
+ 88sZ
+ 89s^
+ 90s_
+ 91s`
+ 92sa
+ 93sb
+ 94sc
+ 95sd
+ 96se
+ 97sf
+ 98sg
+ 99sh
+ 100si
+ 101sj
+ 102sk
+ 103sl
+ 104sm
+ 105sn
+ 106so
+ 107sp
+ 108sq
+ 109sr
+ 110ss
+ 111st
+ 112su
+ 113sv
+ 114sw
+ 115sx
+ 116sy
+ 117sz
+ 118s{
+ 119s|
+ 120s}
+ 121s~
+ 122s
+ 123s
+ 124s
+ 125s
+ 126s
+ 127s
+ 128s
+ 129s
+ 130s
+ 131s
+ 132s
+ 133s
+ 134s
+ 135s
+ 136s
+ 137s
+ 138s
+ 139s
+ 140s
+ 141s
+ 142s
+ 143s
+ 144s
+ 145s
+ 146s
+ 147s
+ 148s
+ 149s
+ 150s
+ 151s
+ 152s
+ 153s
+ 154s
+ 155s
+ 156s
+ 157s
+ 158s
+ 159s
+ 160s
+ 161s
+ 162s
+ 163s
+ 164s
+ 165s
+ 166s
+ 167s
+ 168s
+ 169s
+ 170s
+ 171s
+ 172s
+ 173s
+ 174s
+ 175s
+ 176s
+ 177s
+ 178s
+ 179s
+ 180s
+ 181s
+ 182s
+ 183s
+ 184s
+ 185s
+ 186s
+ 187s
+ 188s
+ 189s
+ 190s
+ 191s
+ 192s
+ 193s
+ 194s
+ 195s
+ 196s
+ 197s
+ 198s
+ 199s
+ 200s
+ 201s
+ 202s
+ 203s
+ 204s
+ 205s
+ 206s
+ 207s
+ 208s
+ 209s
+ 210s
+ 211s
+ 212s
+ 213s
+ 214s
+ 215s
+ 216s
+ 217s
+ 218s
+ 219s
+ 220s
+ 221s
+ 222s
+ 223s
+ 224s
+ 225s
+ 226s
+ 227s
+ 228s
+ 229s
+ 230s
+ 231s
+ 232s
+ 233s
+ 234s
+ 235s
+ 236s
+ 237s
+ 238s
+ 239s
+ 240s
+ 241s
+ 242s
+ 243s
+ 244s
+ 245s
+ 246s
+ 247s
+ 248s
+ 249s
+ 250s
+ 251s
+ 252s
+ 253s
+ 254s
+ 255s
+laps.
+lbps.
+lcps.
+ldps.
+leps.
+lfps.
+lgps.
+lhps.
+lips.
+ljps.
+lkps.
+llps.
+lmps.
+lnps.
+lops.
+lpps.
+lqps.
+lrps.
+lsps.
+ltps.
+lups.
+lvps.
+lwps.
+lxps.
+lyps.
+lzps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+l ps.
+l
+ps.
+l ps.
+l ps.
+l ps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+l ps.
+l!ps.
+l"ps.
+l#ps.
+l$ps.
+l%ps.
+l&ps.
+l'ps.
+l(ps.
+l)ps.
+l*ps.
+l+ps.
+l,ps.
+l-ps.
+l.ps.
+l/ps.
+l0ps.
+l1ps.
+l2ps.
+l3ps.
+l4ps.
+l5ps.
+l6ps.
+l7ps.
+l8ps.
+l9ps.
+l:ps.
+l;ps.
+l<ps.
+l=ps.
+l>ps.
+l?ps.
+l@ps.
+lAps.
+lBps.
+lCps.
+lDps.
+lEps.
+lFps.
+lGps.
+lHps.
+lIps.
+lJps.
+lKps.
+lLps.
+lMps.
+lNps.
+lOps.
+lPps.
+lQps.
+lRps.
+lSps.
+lTps.
+lUps.
+lVps.
+lWps.
+lXps.
+lYps.
+lZps.
+l^ps.
+l_ps.
+l`ps.
+laps.
+lbps.
+lcps.
+ldps.
+leps.
+lfps.
+lgps.
+lhps.
+lips.
+ljps.
+lkps.
+llps.
+lmps.
+lnps.
+lops.
+lpps.
+lqps.
+lrps.
+lsps.
+ltps.
+lups.
+lvps.
+lwps.
+lxps.
+lyps.
+lzps.
+l{ps.
+l|ps.
+l}ps.
+l~ps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t17.out b/regress/usr.bin/bc/t17.out
new file mode 100644
index 0000000..afa55d4
--- /dev/null
+++ b/regress/usr.bin/bc/t17.out
@@ -0,0 +1,569 @@
+ 97sa
+ 98sb
+ 99sc
+ 100sd
+ 101se
+ 102sf
+ 103sg
+ 104sh
+ 105si
+ 106sj
+ 107sk
+ 108sl
+ 109sm
+ 110sn
+ 111so
+ 112sp
+ 113sq
+ 114sr
+ 115ss
+ 116st
+ 117su
+ 118sv
+ 119sw
+ 120sx
+ 121sy
+ 122sz
+ 123s
+ 0s
+ 1s
+ 2s
+ 3s
+ 4s
+ 5s
+ 6s
+ 7s
+ 8s
+
+ 9s
+ 10s
+ 11s
+ 12s
+ 13s
+ 14s
+ 15s
+ 16s
+ 17s
+ 18s
+ 19s
+ 20s
+ 21s
+ 22s
+ 23s
+ 24s
+ 25s
+ 26s
+ 27s
+ 28s
+ 29s
+ 30s
+ 31s!
+ 32s"
+ 33s#
+ 34s$
+ 35s%
+ 36s&
+ 37s'
+ 38s(
+ 39s)
+ 40s*
+ 41s+
+ 42s,
+ 43s-
+ 44s.
+ 45s/
+ 46s0
+ 47s1
+ 48s2
+ 49s3
+ 50s4
+ 51s5
+ 52s6
+ 53s7
+ 54s8
+ 55s9
+ 56s:
+ 57s;
+ 58s<
+ 59s=
+ 60s>
+ 61s?
+ 62s@
+ 63sA
+ 64sB
+ 65sC
+ 66sD
+ 67sE
+ 68sF
+ 69sG
+ 70sH
+ 71sI
+ 72sJ
+ 73sK
+ 74sL
+ 75sM
+ 76sN
+ 77sO
+ 78sP
+ 79sQ
+ 80sR
+ 81sS
+ 82sT
+ 83sU
+ 84sV
+ 85sW
+ 86sX
+ 87sY
+ 88sZ
+ 89s^
+ 90s_
+ 91s`
+ 92sa
+ 93sb
+ 94sc
+ 95sd
+ 96se
+ 97sf
+ 98sg
+ 99sh
+ 100si
+ 101sj
+ 102sk
+ 103sl
+ 104sm
+ 105sn
+ 106so
+ 107sp
+ 108sq
+ 109sr
+ 110ss
+ 111st
+ 112su
+ 113sv
+ 114sw
+ 115sx
+ 116sy
+ 117sz
+ 118s{
+ 119s|
+ 120s}
+ 121s~
+ 122s
+ 123s
+ 124s
+ 125s
+ 126s
+ 127s
+ 128s
+ 129s
+ 130s
+ 131s
+ 132s
+ 133s
+ 134s
+ 135s
+ 136s
+ 137s
+ 138s
+ 139s
+ 140s
+ 141s
+ 142s
+ 143s
+ 144s
+ 145s
+ 146s
+ 147s
+ 148s
+ 149s
+ 150s
+ 151s
+ 152s
+ 153s
+ 154s
+ 155s
+ 156s
+ 157s
+ 158s
+ 159s
+ 160s
+ 161s
+ 162s
+ 163s
+ 164s
+ 165s
+ 166s
+ 167s
+ 168s
+ 169s
+ 170s
+ 171s
+ 172s
+ 173s
+ 174s
+ 175s
+ 176s
+ 177s
+ 178s
+ 179s
+ 180s
+ 181s
+ 182s
+ 183s
+ 184s
+ 185s
+ 186s
+ 187s
+ 188s
+ 189s
+ 190s
+ 191s
+ 192s
+ 193s
+ 194s
+ 195s
+ 196s
+ 197s
+ 198s
+ 199s
+ 200s
+ 201s
+ 202s
+ 203s
+ 204s
+ 205s
+ 206s
+ 207s
+ 208s
+ 209s
+ 210s
+ 211s
+ 212s
+ 213s
+ 214s
+ 215s
+ 216s
+ 217s
+ 218s
+ 219s
+ 220s
+ 221s
+ 222s
+ 223s
+ 224s
+ 225s
+ 226s
+ 227s
+ 228s
+ 229s
+ 230s
+ 231s
+ 232s
+ 233s
+ 234s
+ 235s
+ 236s
+ 237s
+ 238s
+ 239s
+ 240s
+ 241s
+ 242s
+ 243s
+ 244s
+ 245s
+ 246s
+ 247s
+ 248s
+ 249s
+ 250s
+ 251s
+ 252s
+ 253s
+ 254s
+ 255s
+laps.
+lbps.
+lcps.
+ldps.
+leps.
+lfps.
+lgps.
+lhps.
+lips.
+ljps.
+lkps.
+llps.
+lmps.
+lnps.
+lops.
+lpps.
+lqps.
+lrps.
+lsps.
+ltps.
+lups.
+lvps.
+lwps.
+lxps.
+lyps.
+lzps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+l ps.
+l
+ps.
+l ps.
+l ps.
+l ps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+l ps.
+l!ps.
+l"ps.
+l#ps.
+l$ps.
+l%ps.
+l&ps.
+l'ps.
+l(ps.
+l)ps.
+l*ps.
+l+ps.
+l,ps.
+l-ps.
+l.ps.
+l/ps.
+l0ps.
+l1ps.
+l2ps.
+l3ps.
+l4ps.
+l5ps.
+l6ps.
+l7ps.
+l8ps.
+l9ps.
+l:ps.
+l;ps.
+l<ps.
+l=ps.
+l>ps.
+l?ps.
+l@ps.
+lAps.
+lBps.
+lCps.
+lDps.
+lEps.
+lFps.
+lGps.
+lHps.
+lIps.
+lJps.
+lKps.
+lLps.
+lMps.
+lNps.
+lOps.
+lPps.
+lQps.
+lRps.
+lSps.
+lTps.
+lUps.
+lVps.
+lWps.
+lXps.
+lYps.
+lZps.
+l^ps.
+l_ps.
+l`ps.
+laps.
+lbps.
+lcps.
+ldps.
+leps.
+lfps.
+lgps.
+lhps.
+lips.
+ljps.
+lkps.
+llps.
+lmps.
+lnps.
+lops.
+lpps.
+lqps.
+lrps.
+lsps.
+ltps.
+lups.
+lvps.
+lwps.
+lxps.
+lyps.
+lzps.
+l{ps.
+l|ps.
+l}ps.
+l~ps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+lps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t18.in b/regress/usr.bin/bc/t18.in
new file mode 100644
index 0000000..1f989a2
--- /dev/null
+++ b/regress/usr.bin/bc/t18.in
@@ -0,0 +1,45 @@
+/* $OpenBSD: t18.in,v 1.1 2003/12/09 12:49:01 otto Exp $ */
+/*
+ * Copyright (c) 2003 Amit Singh <amit_s@acm.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * The Towers Of Hanoi
+ * bc version
+ * http://hanoi.kernelthread.com
+ */
+
+define moveit(i, j) {
+ print "move "
+ print i
+ print " --> "
+ print j
+ print "\n"
+}
+
+define dohanoi(n, h, d, o) {
+ if (n > 0) {
+ silence = dohanoi(n-1, h, o, d)
+ silence = moveit(h, d)
+ silence = dohanoi(n-1, o, d, h)
+ }
+}
+
+define hanoi(n) {
+ silence = dohanoi(n, 1, 3, 2)
+}
+
+hanoi(5)
+
diff --git a/regress/usr.bin/bc/t18.log b/regress/usr.bin/bc/t18.log
new file mode 100644
index 0000000..01ce2a7
--- /dev/null
+++ b/regress/usr.bin/bc/t18.log
@@ -0,0 +1,22 @@
+
+
+
+
+
+[SjSi[move ]nlids.n[ --> ]nljds.n[
+]nLis.Ljs.0 1Q]s
+
+
+
+[ln 1-lhloldlxslhldlxsln 1-loldlhlxs]s0
+[SoSdShSnln 0<0 Lns.Lhs.Lds.Los.0 1Q]s
+
+
+
+[Snln 1 3 2lxsLns.0 1Q]s
+
+
+
+ 5lxps.
+
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t18.out b/regress/usr.bin/bc/t18.out
new file mode 100644
index 0000000..01ce2a7
--- /dev/null
+++ b/regress/usr.bin/bc/t18.out
@@ -0,0 +1,22 @@
+
+
+
+
+
+[SjSi[move ]nlids.n[ --> ]nljds.n[
+]nLis.Ljs.0 1Q]s
+
+
+
+[ln 1-lhloldlxslhldlxsln 1-loldlhlxs]s0
+[SoSdShSnln 0<0 Lns.Lhs.Lds.Los.0 1Q]s
+
+
+
+[Snln 1 3 2lxsLns.0 1Q]s
+
+
+
+ 5lxps.
+
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t19 b/regress/usr.bin/bc/t19
new file mode 100755
index 0000000..5cde32d
--- /dev/null
+++ b/regress/usr.bin/bc/t19
Binary files differ
diff --git a/regress/usr.bin/bc/t19.c b/regress/usr.bin/bc/t19.c
new file mode 100644
index 0000000..4a46760
--- /dev/null
+++ b/regress/usr.bin/bc/t19.c
@@ -0,0 +1,80 @@
+/* $OpenBSD: t19.c,v 1.3 2014/11/26 15:23:13 otto Exp $ */
+
+/*
+ * Copyright (c) 2012 Otto Moerbeek <otto@drijf.net>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+#include <float.h>
+#include <math.h>
+#include <stdio.h>
+
+int scale[] = { 1, 2, 3, 10, 15, 20, 30};
+long double num[] = {-10, -M_PI, -3, -2, -1, -0.5, -0.01, 0, 0.01,
+ 0.5, 1, 2, 3, M_PI, 10};
+
+struct func {const char *name; long double (*f)(long double);};
+
+struct func funcs[] = { {"s", sinl},
+ {"c", cosl},
+ {"e", expl},
+ {"l", logl},
+ {"a", atanl}
+};
+
+#define nitems(_a) (sizeof((_a)) / sizeof((_a)[0]))
+
+main()
+{
+ int ret, si, ni, fi;
+ int status = 0;
+
+ for (si = 0; si < nitems(scale); si++) {
+ for (ni = 0; ni < nitems(num); ni++) {
+ for (fi = 0; fi < nitems(funcs); fi++) {
+ char cmd[100];
+ FILE *fp;
+ long double v, d1, d2, diff, prec;
+
+ v = num[ni];
+ if (v == 0.0 && funcs[fi].f == logl)
+ continue;
+ snprintf(cmd, sizeof(cmd),
+ "bc -l -e scale=%d -e '%s(%.19Lf)' -equit",
+ scale[si], funcs[fi].name, v);
+ fp = popen(cmd, "r");
+ ret = fscanf(fp, "%Lf", &d1);
+ pclose(fp);
+ d2 = funcs[fi].f(v);
+ diff = fabsl(d1 - d2);
+ prec = powl(10.0L, (long double)-scale[si]);
+ if (prec < LDBL_EPSILON)
+ prec = LDBL_EPSILON;
+ prec *= 2;
+ /* XXX cheating ? */
+ if (funcs[fi].f == logl)
+ prec *= 4;
+ else if (funcs[fi].f == expl)
+ prec *= 8;
+ if (diff > prec) {
+ printf("%s %d %Le %Le %Le %Le %Le\n",
+ funcs[fi].name, scale[si],
+ v, d1, d2, diff, prec);
+ status = 1;
+ }
+
+ }
+ }
+ }
+ return status;
+}
diff --git a/regress/usr.bin/bc/t2.in b/regress/usr.bin/bc/t2.in
new file mode 100644
index 0000000..01b746e
--- /dev/null
+++ b/regress/usr.bin/bc/t2.in
@@ -0,0 +1,5 @@
+while (1) {
+ while (0) break;
+ if (a == 1) break;
+ if (a = 2) if (a = 3) break;
+}
diff --git a/regress/usr.bin/bc/t2.log b/regress/usr.bin/bc/t2.log
new file mode 100644
index 0000000..70a8f4e
--- /dev/null
+++ b/regress/usr.bin/bc/t2.log
@@ -0,0 +1,7 @@
+[ 1Q 0 0!=1]s1
+[ 2Q]s2
+[ 3Q]s4
+[ 3dsa 0!=4 ]s3
+[ 0 0!=1 la 1=2 2dsa 0!=3 1 0!=0]s0
+ 1 0!=0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t2.out b/regress/usr.bin/bc/t2.out
new file mode 100644
index 0000000..70a8f4e
--- /dev/null
+++ b/regress/usr.bin/bc/t2.out
@@ -0,0 +1,7 @@
+[ 1Q 0 0!=1]s1
+[ 2Q]s2
+[ 3Q]s4
+[ 3dsa 0!=4 ]s3
+[ 0 0!=1 la 1=2 2dsa 0!=3 1 0!=0]s0
+ 1 0!=0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t3.in b/regress/usr.bin/bc/t3.in
new file mode 100644
index 0000000..851f80f
--- /dev/null
+++ b/regress/usr.bin/bc/t3.in
@@ -0,0 +1,4 @@
+for (i = 0; i < 10; i++) {
+ a[i] = 3;
+ if (x % 3 == 0) break;
+}
diff --git a/regress/usr.bin/bc/t3.log b/regress/usr.bin/bc/t3.log
new file mode 100644
index 0000000..9205491
--- /dev/null
+++ b/regress/usr.bin/bc/t3.log
@@ -0,0 +1,4 @@
+[ 2Q]s1
+[ 3li:lx 3% 0=1 lid1+sis.li 10>0]s0
+ 0dsis.li 10>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t3.out b/regress/usr.bin/bc/t3.out
new file mode 100644
index 0000000..9205491
--- /dev/null
+++ b/regress/usr.bin/bc/t3.out
@@ -0,0 +1,4 @@
+[ 2Q]s1
+[ 3li:lx 3% 0=1 lid1+sis.li 10>0]s0
+ 0dsis.li 10>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t4.in b/regress/usr.bin/bc/t4.in
new file mode 100644
index 0000000..d4b1357
--- /dev/null
+++ b/regress/usr.bin/bc/t4.in
@@ -0,0 +1,6 @@
+while (0) while(1) while(2) while(3) while(4) while(5) while(6) while(7) {
+ while (8) while (9) while (10) while (11) while(12) while(13) {
+ while(14) while(15) {
+ }
+ }
+}
diff --git a/regress/usr.bin/bc/t4.log b/regress/usr.bin/bc/t4.log
new file mode 100644
index 0000000..cd954cc
--- /dev/null
+++ b/regress/usr.bin/bc/t4.log
@@ -0,0 +1,18 @@
+[ 15 0!=?]s?
+[ 15 0!=? 14 0!=>]s>
+[ 14 0!=> 13 0!==]s=
+[ 13 0!== 12 0!=<]s<
+[ 12 0!=< 11 0!=;]s;
+[ 11 0!=; 10 0!=:]s:
+[ 10 0!=: 9 0!=9]s9
+[ 9 0!=9 8 0!=8]s8
+[ 8 0!=8 7 0!=7]s7
+[ 7 0!=7 6 0!=6]s6
+[ 6 0!=6 5 0!=5]s5
+[ 5 0!=5 4 0!=4]s4
+[ 4 0!=4 3 0!=3]s3
+[ 3 0!=3 2 0!=2]s2
+[ 2 0!=2 1 0!=1]s1
+[ 1 0!=1 0 0!=0]s0
+ 0 0!=0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t4.out b/regress/usr.bin/bc/t4.out
new file mode 100644
index 0000000..cd954cc
--- /dev/null
+++ b/regress/usr.bin/bc/t4.out
@@ -0,0 +1,18 @@
+[ 15 0!=?]s?
+[ 15 0!=? 14 0!=>]s>
+[ 14 0!=> 13 0!==]s=
+[ 13 0!== 12 0!=<]s<
+[ 12 0!=< 11 0!=;]s;
+[ 11 0!=; 10 0!=:]s:
+[ 10 0!=: 9 0!=9]s9
+[ 9 0!=9 8 0!=8]s8
+[ 8 0!=8 7 0!=7]s7
+[ 7 0!=7 6 0!=6]s6
+[ 6 0!=6 5 0!=5]s5
+[ 5 0!=5 4 0!=4]s4
+[ 4 0!=4 3 0!=3]s3
+[ 3 0!=3 2 0!=2]s2
+[ 2 0!=2 1 0!=1]s1
+[ 1 0!=1 0 0!=0]s0
+ 0 0!=0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t5.in b/regress/usr.bin/bc/t5.in
new file mode 100644
index 0000000..c02b1b6
--- /dev/null
+++ b/regress/usr.bin/bc/t5.in
@@ -0,0 +1,7 @@
+define f(a, b, c[]) {
+ auto d,e,f;
+ a=1;
+ return (8);
+}
+
+f(1,2,g[])
diff --git a/regress/usr.bin/bc/t5.log b/regress/usr.bin/bc/t5.log
new file mode 100644
index 0000000..898e85f
--- /dev/null
+++ b/regress/usr.bin/bc/t5.log
@@ -0,0 +1,6 @@
+[0Sf0Se0SdSSbSa 1sa 8Las.Lbs.Ls.Lds.Les.Lfs. 1QLas.Lbs.Ls.Lds.Les.Lfs.0 1Q]s
+
+
+
+ 1 2llxps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t5.out b/regress/usr.bin/bc/t5.out
new file mode 100644
index 0000000..898e85f
--- /dev/null
+++ b/regress/usr.bin/bc/t5.out
@@ -0,0 +1,6 @@
+[0Sf0Se0SdSSbSa 1sa 8Las.Lbs.Ls.Lds.Les.Lfs. 1QLas.Lbs.Ls.Lds.Les.Lfs.0 1Q]s
+
+
+
+ 1 2llxps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t6.in b/regress/usr.bin/bc/t6.in
new file mode 100644
index 0000000..9a19675
--- /dev/null
+++ b/regress/usr.bin/bc/t6.in
@@ -0,0 +1,3 @@
+if (1)
+for (i=1; i <= 10; i++)
+while (1>0)
diff --git a/regress/usr.bin/bc/t6.log b/regress/usr.bin/bc/t6.log
new file mode 100644
index 0000000..a47ddf7
--- /dev/null
+++ b/regress/usr.bin/bc/t6.log
@@ -0,0 +1,7 @@
+[]s0
+ 1 0!=0
+[lid1+sis.li 10!<0]s0
+ 1dsis.li 10!<0
+[ 1 0<0]s0
+ 1 0<0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t6.out b/regress/usr.bin/bc/t6.out
new file mode 100644
index 0000000..a47ddf7
--- /dev/null
+++ b/regress/usr.bin/bc/t6.out
@@ -0,0 +1,7 @@
+[]s0
+ 1 0!=0
+[lid1+sis.li 10!<0]s0
+ 1dsis.li 10!<0
+[ 1 0<0]s0
+ 1 0<0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t7.in b/regress/usr.bin/bc/t7.in
new file mode 100644
index 0000000..e29e70f
--- /dev/null
+++ b/regress/usr.bin/bc/t7.in
@@ -0,0 +1,6 @@
+a += 1
+b -= 2
+c *= 3
+d /= 4
+e ^= 5
+f %= 6
diff --git a/regress/usr.bin/bc/t7.log b/regress/usr.bin/bc/t7.log
new file mode 100644
index 0000000..fd77bc3
--- /dev/null
+++ b/regress/usr.bin/bc/t7.log
@@ -0,0 +1,7 @@
+la 1+sa
+lb 2-sb
+lc 3*sc
+ld 4/sd
+le 5^se
+lf 6%sf
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t7.out b/regress/usr.bin/bc/t7.out
new file mode 100644
index 0000000..fd77bc3
--- /dev/null
+++ b/regress/usr.bin/bc/t7.out
@@ -0,0 +1,7 @@
+la 1+sa
+lb 2-sb
+lc 3*sc
+ld 4/sd
+le 5^se
+lf 6%sf
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t8.in b/regress/usr.bin/bc/t8.in
new file mode 100644
index 0000000..b2f1c18
--- /dev/null
+++ b/regress/usr.bin/bc/t8.in
@@ -0,0 +1,6 @@
+while (a < 10) {
+ a += 1;
+ if (a == 2) if (1) continue;
+ if (a == 7) if (1) continue;
+ a
+}
diff --git a/regress/usr.bin/bc/t8.log b/regress/usr.bin/bc/t8.log
new file mode 100644
index 0000000..d48428c
--- /dev/null
+++ b/regress/usr.bin/bc/t8.log
@@ -0,0 +1,7 @@
+[ 2J]s2
+[ 1 0!=2 ]s1
+[ 2J]s4
+[ 1 0!=4 ]s3
+[la 1+sala 2=1 la 7=3 laps.Mla 10>0]s0
+la 10>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t8.out b/regress/usr.bin/bc/t8.out
new file mode 100644
index 0000000..d48428c
--- /dev/null
+++ b/regress/usr.bin/bc/t8.out
@@ -0,0 +1,7 @@
+[ 2J]s2
+[ 1 0!=2 ]s1
+[ 2J]s4
+[ 1 0!=4 ]s3
+[la 1+sala 2=1 la 7=3 laps.Mla 10>0]s0
+la 10>0
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t9.in b/regress/usr.bin/bc/t9.in
new file mode 100644
index 0000000..7556e18
--- /dev/null
+++ b/regress/usr.bin/bc/t9.in
@@ -0,0 +1,19 @@
+define x() {
+ for (i = 0; i < 10; i++) {
+ i
+ "a ";
+ if (i == 5) {
+ "b ";
+ continue
+ }
+ "aaaaMbbbb"
+ a=0;
+ while (a < 4) {
+ a += 1;
+ if (a == 2) if (1) continue
+ "c "; a
+ }
+ }
+}
+
+x()
diff --git a/regress/usr.bin/bc/t9.log b/regress/usr.bin/bc/t9.log
new file mode 100644
index 0000000..9a5ca85
--- /dev/null
+++ b/regress/usr.bin/bc/t9.log
@@ -0,0 +1,11 @@
+[[b ]P 1J]s1
+[ 2J]s4
+[ 1 0!=4 ]s3
+[la 1+sala 2=3 [c ]Plaps.Mla 4>2]s2
+[lips.[a ]Pli 5=1 [aaaaMbbbb]P 0sala 4>2 Mlid1+sis.li 10>0]s0
+[ 0dsis.li 10>0 0 1Q]s
+
+
+
+lxps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/bc/t9.out b/regress/usr.bin/bc/t9.out
new file mode 100644
index 0000000..9a5ca85
--- /dev/null
+++ b/regress/usr.bin/bc/t9.out
@@ -0,0 +1,11 @@
+[[b ]P 1J]s1
+[ 2J]s4
+[ 1 0!=4 ]s3
+[la 1+sala 2=3 [c ]Plaps.Mla 4>2]s2
+[lips.[a ]Pli 5=1 [aaaaMbbbb]P 0sala 4>2 Mlid1+sis.li 10>0]s0
+[ 0dsis.li 10>0 0 1Q]s
+
+
+
+lxps.
+q \ No newline at end of file
diff --git a/regress/usr.bin/calendar/20160101.out b/regress/usr.bin/calendar/20160101.out
new file mode 100644
index 0000000..e6740aa
--- /dev/null
+++ b/regress/usr.bin/calendar/20160101.out
@@ -0,0 +1,48 @@
+Jan 01* Friday+1: First Friday
+Jan 01* Fri+1: First Friday
+Jan 01* Friday+1: First Friday in January
+Jan 01* Fri+1: First Friday in January
+Jan 01* First: First Friday in January
+Jan 01* 1 of every month
+Jan 01 1/1: January 1
+Jan 01 Jan. 1: January 1
+Jan 01 1 January: January 1
+ January: continued
+Jan 01* *: Beginning of every month
+Jan 01* Friday: Every Friday
+Jan 01 January: Every January 1st
+Jan 02* Saturday+1: First Saturday
+Jan 02* Sat+1: First Saturday
+Jan 02* Saturday+1: First Saturday in January
+Jan 02* Sat+1: First Saturday in January
+Jan 02* First: First Saturday in January
+Jan 02* 2 of every month
+Jan 02 1/2: January 2
+Jan 02 Jan. 2: January 2
+Jan 02 2 January: January 2
+ January: continued
+Jan 02* Saturday: Every Saturday
+Jan 03* Sunday+1: First Sunday
+Jan 03* Sun+1: First Sunday
+Jan 03* Sunday+1: First Sunday in January
+Jan 03* Sun+1: First Sunday in January
+Jan 03* First: First Sunday in January
+Jan 03* 3 of every month
+Jan 03 1/3: January 3
+Jan 03 Jan. 3: January 3
+Jan 03 3 January: January 3
+ January: continued
+Jan 03* Sunday: Every Sunday
+Jan 04* Monday+1: First Monday
+Jan 04* Mon+1: First Monday
+Jan 04* Monday+1: First Monday in January
+Jan 04* Mon+1: First Monday in January
+Jan 04* First: First Monday in January
+Jan 04* Monday-4: Last (-4) Monday
+Jan 04* Mon-4: Last (-4) Monday
+Jan 04* 4 of every month
+Jan 04 1/4: January 4
+Jan 04 Jan. 4: January 4
+Jan 04 4 January: January 4
+ January: continued
+Jan 04* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160102.out b/regress/usr.bin/calendar/20160102.out
new file mode 100644
index 0000000..bd3add8
--- /dev/null
+++ b/regress/usr.bin/calendar/20160102.out
@@ -0,0 +1,22 @@
+Jan 02* Saturday+1: First Saturday
+Jan 02* Sat+1: First Saturday
+Jan 02* Saturday+1: First Saturday in January
+Jan 02* Sat+1: First Saturday in January
+Jan 02* First: First Saturday in January
+Jan 02* 2 of every month
+Jan 02 1/2: January 2
+Jan 02 Jan. 2: January 2
+Jan 02 2 January: January 2
+ January: continued
+Jan 02* Saturday: Every Saturday
+Jan 03* Sunday+1: First Sunday
+Jan 03* Sun+1: First Sunday
+Jan 03* Sunday+1: First Sunday in January
+Jan 03* Sun+1: First Sunday in January
+Jan 03* First: First Sunday in January
+Jan 03* 3 of every month
+Jan 03 1/3: January 3
+Jan 03 Jan. 3: January 3
+Jan 03 3 January: January 3
+ January: continued
+Jan 03* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160103.out b/regress/usr.bin/calendar/20160103.out
new file mode 100644
index 0000000..4644284
--- /dev/null
+++ b/regress/usr.bin/calendar/20160103.out
@@ -0,0 +1,24 @@
+Jan 03* Sunday+1: First Sunday
+Jan 03* Sun+1: First Sunday
+Jan 03* Sunday+1: First Sunday in January
+Jan 03* Sun+1: First Sunday in January
+Jan 03* First: First Sunday in January
+Jan 03* 3 of every month
+Jan 03 1/3: January 3
+Jan 03 Jan. 3: January 3
+Jan 03 3 January: January 3
+ January: continued
+Jan 03* Sunday: Every Sunday
+Jan 04* Monday+1: First Monday
+Jan 04* Mon+1: First Monday
+Jan 04* Monday+1: First Monday in January
+Jan 04* Mon+1: First Monday in January
+Jan 04* First: First Monday in January
+Jan 04* Monday-4: Last (-4) Monday
+Jan 04* Mon-4: Last (-4) Monday
+Jan 04* 4 of every month
+Jan 04 1/4: January 4
+Jan 04 Jan. 4: January 4
+Jan 04 4 January: January 4
+ January: continued
+Jan 04* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160104.out b/regress/usr.bin/calendar/20160104.out
new file mode 100644
index 0000000..e2819a1
--- /dev/null
+++ b/regress/usr.bin/calendar/20160104.out
@@ -0,0 +1,26 @@
+Jan 04* Monday+1: First Monday
+Jan 04* Mon+1: First Monday
+Jan 04* Monday+1: First Monday in January
+Jan 04* Mon+1: First Monday in January
+Jan 04* First: First Monday in January
+Jan 04* Monday-4: Last (-4) Monday
+Jan 04* Mon-4: Last (-4) Monday
+Jan 04* 4 of every month
+Jan 04 1/4: January 4
+Jan 04 Jan. 4: January 4
+Jan 04 4 January: January 4
+ January: continued
+Jan 04* Monday: Every Monday
+Jan 05* Tuesday+1: First Tuesday
+Jan 05* Tue+1: First Tuesday
+Jan 05* Tuesday+1: First Tuesday in January
+Jan 05* Tue+1: First Tuesday in January
+Jan 05* First: First Tuesday in January
+Jan 05* Tuesday-4: Last (-4) Tuesday
+Jan 05* Tue-4: Last (-4) Tuesday
+Jan 05* 5 of every month
+Jan 05 1/5: January 5
+Jan 05 Jan. 5: January 5
+Jan 05 5 January: January 5
+ January: continued
+Jan 05* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160105.out b/regress/usr.bin/calendar/20160105.out
new file mode 100644
index 0000000..690ac8b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160105.out
@@ -0,0 +1,26 @@
+Jan 05* Tuesday+1: First Tuesday
+Jan 05* Tue+1: First Tuesday
+Jan 05* Tuesday+1: First Tuesday in January
+Jan 05* Tue+1: First Tuesday in January
+Jan 05* First: First Tuesday in January
+Jan 05* Tuesday-4: Last (-4) Tuesday
+Jan 05* Tue-4: Last (-4) Tuesday
+Jan 05* 5 of every month
+Jan 05 1/5: January 5
+Jan 05 Jan. 5: January 5
+Jan 05 5 January: January 5
+ January: continued
+Jan 05* Tuesday: Every Tuesday
+Jan 06* Wednesday+1: First Wednesday
+Jan 06* Wed+1: First Wednesday
+Jan 06* Wednesday+1: First Wednesday in January
+Jan 06* Wed+1: First Wednesday in January
+Jan 06* First: First Wednesday in January
+Jan 06* Wednesday-4: Last (-4) Wednesday
+Jan 06* Wed-4: Last (-4) Wednesday
+Jan 06* 6 of every month
+Jan 06 1/6: January 6
+Jan 06 Jan. 6: January 6
+Jan 06 6 January: January 6
+ January: continued
+Jan 06* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160106.out b/regress/usr.bin/calendar/20160106.out
new file mode 100644
index 0000000..2c8e14d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160106.out
@@ -0,0 +1,26 @@
+Jan 06* Wednesday+1: First Wednesday
+Jan 06* Wed+1: First Wednesday
+Jan 06* Wednesday+1: First Wednesday in January
+Jan 06* Wed+1: First Wednesday in January
+Jan 06* First: First Wednesday in January
+Jan 06* Wednesday-4: Last (-4) Wednesday
+Jan 06* Wed-4: Last (-4) Wednesday
+Jan 06* 6 of every month
+Jan 06 1/6: January 6
+Jan 06 Jan. 6: January 6
+Jan 06 6 January: January 6
+ January: continued
+Jan 06* Wednesday: Every Wednesday
+Jan 07* Thursday+1: First Thursday
+Jan 07* Thu+1: First Thursday
+Jan 07* Thursday+1: First Thursday in January
+Jan 07* Thu+1: First Thursday in January
+Jan 07* First: First Thursday in January
+Jan 07* Thursday-4: Last (-4) Thursday
+Jan 07* Thu-4: Last (-4) Thursday
+Jan 07* 7 of every month
+Jan 07 1/7: January 7
+Jan 07 Jan. 7: January 7
+Jan 07 7 January: January 7
+ January: continued
+Jan 07* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160107.out b/regress/usr.bin/calendar/20160107.out
new file mode 100644
index 0000000..4591473
--- /dev/null
+++ b/regress/usr.bin/calendar/20160107.out
@@ -0,0 +1,26 @@
+Jan 07* Thursday+1: First Thursday
+Jan 07* Thu+1: First Thursday
+Jan 07* Thursday+1: First Thursday in January
+Jan 07* Thu+1: First Thursday in January
+Jan 07* First: First Thursday in January
+Jan 07* Thursday-4: Last (-4) Thursday
+Jan 07* Thu-4: Last (-4) Thursday
+Jan 07* 7 of every month
+Jan 07 1/7: January 7
+Jan 07 Jan. 7: January 7
+Jan 07 7 January: January 7
+ January: continued
+Jan 07* Thursday: Every Thursday
+Jan 08* Friday+2: Second Friday
+Jan 08* Fri+2: Second Friday
+Jan 08* Friday+2: Second Friday in January
+Jan 08* Fri+2: Second Friday in January
+Jan 08* Second: Second Friday in January
+Jan 08* Friday-4: Last (-4) Friday
+Jan 08* Fri-4: Last (-4) Friday
+Jan 08* 8 of every month
+Jan 08 1/8: January 8
+Jan 08 Jan. 8: January 8
+Jan 08 8 January: January 8
+ January: continued
+Jan 08* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160108.out b/regress/usr.bin/calendar/20160108.out
new file mode 100644
index 0000000..f58e3ed
--- /dev/null
+++ b/regress/usr.bin/calendar/20160108.out
@@ -0,0 +1,52 @@
+Jan 08* Friday+2: Second Friday
+Jan 08* Fri+2: Second Friday
+Jan 08* Friday+2: Second Friday in January
+Jan 08* Fri+2: Second Friday in January
+Jan 08* Second: Second Friday in January
+Jan 08* Friday-4: Last (-4) Friday
+Jan 08* Fri-4: Last (-4) Friday
+Jan 08* 8 of every month
+Jan 08 1/8: January 8
+Jan 08 Jan. 8: January 8
+Jan 08 8 January: January 8
+ January: continued
+Jan 08* Friday: Every Friday
+Jan 09* Saturday+2: Second Saturday
+Jan 09* Sat+2: Second Saturday
+Jan 09* Saturday+2: Second Saturday in January
+Jan 09* Sat+2: Second Saturday in January
+Jan 09* Second: Second Saturday in January
+Jan 09* Saturday-4: Last (-4) Saturday
+Jan 09* Sat-4: Last (-4) Saturday
+Jan 09* 9 of every month
+Jan 09 1/9: January 9
+Jan 09 Jan. 9: January 9
+Jan 09 9 January: January 9
+ January: continued
+Jan 09* Saturday: Every Saturday
+Jan 10* Sunday+2: Second Sunday
+Jan 10* Sun+2: Second Sunday
+Jan 10* Sunday+2: Second Sunday in January
+Jan 10* Sun+2: Second Sunday in January
+Jan 10* Second: Second Sunday in January
+Jan 10* Sunday-4: Last (-4) Sunday
+Jan 10* Sun-4: Last (-4) Sunday
+Jan 10* 10 of every month
+Jan 10 1/10: January 10
+Jan 10 Jan. 10: January 10
+Jan 10 10 January: January 10
+ January: continued
+Jan 10* Sunday: Every Sunday
+Jan 11* Monday+2: Second Monday
+Jan 11* Mon+2: Second Monday
+Jan 11* Monday+2: Second Monday in January
+Jan 11* Mon+2: Second Monday in January
+Jan 11* Second: Second Monday in January
+Jan 11* Monday-3: Last (-3) Monday
+Jan 11* Mon-3: Last (-3) Monday
+Jan 11* 11 of every month
+Jan 11 1/11: January 11
+Jan 11 Jan. 11: January 11
+Jan 11 11 January: January 11
+ January: continued
+Jan 11* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160109.out b/regress/usr.bin/calendar/20160109.out
new file mode 100644
index 0000000..499903f
--- /dev/null
+++ b/regress/usr.bin/calendar/20160109.out
@@ -0,0 +1,26 @@
+Jan 09* Saturday+2: Second Saturday
+Jan 09* Sat+2: Second Saturday
+Jan 09* Saturday+2: Second Saturday in January
+Jan 09* Sat+2: Second Saturday in January
+Jan 09* Second: Second Saturday in January
+Jan 09* Saturday-4: Last (-4) Saturday
+Jan 09* Sat-4: Last (-4) Saturday
+Jan 09* 9 of every month
+Jan 09 1/9: January 9
+Jan 09 Jan. 9: January 9
+Jan 09 9 January: January 9
+ January: continued
+Jan 09* Saturday: Every Saturday
+Jan 10* Sunday+2: Second Sunday
+Jan 10* Sun+2: Second Sunday
+Jan 10* Sunday+2: Second Sunday in January
+Jan 10* Sun+2: Second Sunday in January
+Jan 10* Second: Second Sunday in January
+Jan 10* Sunday-4: Last (-4) Sunday
+Jan 10* Sun-4: Last (-4) Sunday
+Jan 10* 10 of every month
+Jan 10 1/10: January 10
+Jan 10 Jan. 10: January 10
+Jan 10 10 January: January 10
+ January: continued
+Jan 10* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160110.out b/regress/usr.bin/calendar/20160110.out
new file mode 100644
index 0000000..aca276a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160110.out
@@ -0,0 +1,26 @@
+Jan 10* Sunday+2: Second Sunday
+Jan 10* Sun+2: Second Sunday
+Jan 10* Sunday+2: Second Sunday in January
+Jan 10* Sun+2: Second Sunday in January
+Jan 10* Second: Second Sunday in January
+Jan 10* Sunday-4: Last (-4) Sunday
+Jan 10* Sun-4: Last (-4) Sunday
+Jan 10* 10 of every month
+Jan 10 1/10: January 10
+Jan 10 Jan. 10: January 10
+Jan 10 10 January: January 10
+ January: continued
+Jan 10* Sunday: Every Sunday
+Jan 11* Monday+2: Second Monday
+Jan 11* Mon+2: Second Monday
+Jan 11* Monday+2: Second Monday in January
+Jan 11* Mon+2: Second Monday in January
+Jan 11* Second: Second Monday in January
+Jan 11* Monday-3: Last (-3) Monday
+Jan 11* Mon-3: Last (-3) Monday
+Jan 11* 11 of every month
+Jan 11 1/11: January 11
+Jan 11 Jan. 11: January 11
+Jan 11 11 January: January 11
+ January: continued
+Jan 11* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160111.out b/regress/usr.bin/calendar/20160111.out
new file mode 100644
index 0000000..86d0d35
--- /dev/null
+++ b/regress/usr.bin/calendar/20160111.out
@@ -0,0 +1,26 @@
+Jan 11* Monday+2: Second Monday
+Jan 11* Mon+2: Second Monday
+Jan 11* Monday+2: Second Monday in January
+Jan 11* Mon+2: Second Monday in January
+Jan 11* Second: Second Monday in January
+Jan 11* Monday-3: Last (-3) Monday
+Jan 11* Mon-3: Last (-3) Monday
+Jan 11* 11 of every month
+Jan 11 1/11: January 11
+Jan 11 Jan. 11: January 11
+Jan 11 11 January: January 11
+ January: continued
+Jan 11* Monday: Every Monday
+Jan 12* Tuesday+2: Second Tuesday
+Jan 12* Tue+2: Second Tuesday
+Jan 12* Tuesday+2: Second Tuesday in January
+Jan 12* Tue+2: Second Tuesday in January
+Jan 12* Second: Second Tuesday in January
+Jan 12* Tuesday-3: Last (-3) Tuesday
+Jan 12* Tue-3: Last (-3) Tuesday
+Jan 12* 12 of every month
+Jan 12 1/12: January 12
+Jan 12 Jan. 12: January 12
+Jan 12 12 January: January 12
+ January: continued
+Jan 12* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160112.out b/regress/usr.bin/calendar/20160112.out
new file mode 100644
index 0000000..0e4f459
--- /dev/null
+++ b/regress/usr.bin/calendar/20160112.out
@@ -0,0 +1,26 @@
+Jan 12* Tuesday+2: Second Tuesday
+Jan 12* Tue+2: Second Tuesday
+Jan 12* Tuesday+2: Second Tuesday in January
+Jan 12* Tue+2: Second Tuesday in January
+Jan 12* Second: Second Tuesday in January
+Jan 12* Tuesday-3: Last (-3) Tuesday
+Jan 12* Tue-3: Last (-3) Tuesday
+Jan 12* 12 of every month
+Jan 12 1/12: January 12
+Jan 12 Jan. 12: January 12
+Jan 12 12 January: January 12
+ January: continued
+Jan 12* Tuesday: Every Tuesday
+Jan 13* Wednesday+2: Second Wednesday
+Jan 13* Wed+2: Second Wednesday
+Jan 13* Wednesday+2: Second Wednesday in January
+Jan 13* Wed+2: Second Wednesday in January
+Jan 13* Second: Second Wednesday in January
+Jan 13* Wednesday-3: Last (-3) Wednesday
+Jan 13* Wed-3: Last (-3) Wednesday
+Jan 13* 13 of every month
+Jan 13 1/13: January 13
+Jan 13 Jan. 13: January 13
+Jan 13 13 January: January 13
+ January: continued
+Jan 13* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160113.out b/regress/usr.bin/calendar/20160113.out
new file mode 100644
index 0000000..1a0d23a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160113.out
@@ -0,0 +1,26 @@
+Jan 13* Wednesday+2: Second Wednesday
+Jan 13* Wed+2: Second Wednesday
+Jan 13* Wednesday+2: Second Wednesday in January
+Jan 13* Wed+2: Second Wednesday in January
+Jan 13* Second: Second Wednesday in January
+Jan 13* Wednesday-3: Last (-3) Wednesday
+Jan 13* Wed-3: Last (-3) Wednesday
+Jan 13* 13 of every month
+Jan 13 1/13: January 13
+Jan 13 Jan. 13: January 13
+Jan 13 13 January: January 13
+ January: continued
+Jan 13* Wednesday: Every Wednesday
+Jan 14* Thursday+2: Second Thursday
+Jan 14* Thu+2: Second Thursday
+Jan 14* Thursday+2: Second Thursday in January
+Jan 14* Thu+2: Second Thursday in January
+Jan 14* Second: Second Thursday in January
+Jan 14* Thursday-3: Last (-3) Thursday
+Jan 14* Thu-3: Last (-3) Thursday
+Jan 14* 14 of every month
+Jan 14 1/14: January 14
+Jan 14 Jan. 14: January 14
+Jan 14 14 January: January 14
+ January: continued
+Jan 14* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160114.out b/regress/usr.bin/calendar/20160114.out
new file mode 100644
index 0000000..d60ec15
--- /dev/null
+++ b/regress/usr.bin/calendar/20160114.out
@@ -0,0 +1,26 @@
+Jan 14* Thursday+2: Second Thursday
+Jan 14* Thu+2: Second Thursday
+Jan 14* Thursday+2: Second Thursday in January
+Jan 14* Thu+2: Second Thursday in January
+Jan 14* Second: Second Thursday in January
+Jan 14* Thursday-3: Last (-3) Thursday
+Jan 14* Thu-3: Last (-3) Thursday
+Jan 14* 14 of every month
+Jan 14 1/14: January 14
+Jan 14 Jan. 14: January 14
+Jan 14 14 January: January 14
+ January: continued
+Jan 14* Thursday: Every Thursday
+Jan 15* Friday+3: Third Friday
+Jan 15* Fri+3: Third Friday
+Jan 15* Friday-3: Last (-3) Friday
+Jan 15* Fri-3: Last (-3) Friday
+Jan 15* Friday+3: Third Friday in January
+Jan 15* Fri+3: Third Friday in January
+Jan 15* Third: Third Friday in January
+Jan 15* 15 of every month
+Jan 15 1/15: January 15
+Jan 15 Jan. 15: January 15
+Jan 15 15 January: January 15
+ January: continued
+Jan 15* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160115.out b/regress/usr.bin/calendar/20160115.out
new file mode 100644
index 0000000..de088c5
--- /dev/null
+++ b/regress/usr.bin/calendar/20160115.out
@@ -0,0 +1,52 @@
+Jan 15* Friday+3: Third Friday
+Jan 15* Fri+3: Third Friday
+Jan 15* Friday-3: Last (-3) Friday
+Jan 15* Fri-3: Last (-3) Friday
+Jan 15* Friday+3: Third Friday in January
+Jan 15* Fri+3: Third Friday in January
+Jan 15* Third: Third Friday in January
+Jan 15* 15 of every month
+Jan 15 1/15: January 15
+Jan 15 Jan. 15: January 15
+Jan 15 15 January: January 15
+ January: continued
+Jan 15* Friday: Every Friday
+Jan 16* Saturday+3: Third Saturday
+Jan 16* Sat+3: Third Saturday
+Jan 16* Saturday-3: Last (-3) Saturday
+Jan 16* Sat-3: Last (-3) Saturday
+Jan 16* Saturday+3: Third Saturday in January
+Jan 16* Sat+3: Third Saturday in January
+Jan 16* Third: Third Saturday in January
+Jan 16* 16 of every month
+Jan 16 1/16: January 16
+Jan 16 Jan. 16: January 16
+Jan 16 16 January: January 16
+ January: continued
+Jan 16* Saturday: Every Saturday
+Jan 17* Sunday+3: Third Sunday
+Jan 17* Sun+3: Third Sunday
+Jan 17* Sunday-3: Last (-3) Sunday
+Jan 17* Sun-3: Last (-3) Sunday
+Jan 17* Sunday+3: Third Sunday in January
+Jan 17* Sun+3: Third Sunday in January
+Jan 17* Third: Third Sunday in January
+Jan 17* 17 of every month
+Jan 17 1/17: January 17
+Jan 17 Jan. 17: January 17
+Jan 17 17 January: January 17
+ January: continued
+Jan 17* Sunday: Every Sunday
+Jan 18* Monday-2: Last (-2) Monday
+Jan 18* Mon-2: Last (-2) Monday
+Jan 18* Monday+3: Third Monday
+Jan 18* Mon+3: Third Monday
+Jan 18* Monday+3: Third Monday in January
+Jan 18* Mon+3: Third Monday in January
+Jan 18* Third: Third Monday in January
+Jan 18* 18 of every month
+Jan 18 1/18: January 18
+Jan 18 Jan. 18: January 18
+Jan 18 18 January: January 18
+ January: continued
+Jan 18* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160116.out b/regress/usr.bin/calendar/20160116.out
new file mode 100644
index 0000000..02121a7
--- /dev/null
+++ b/regress/usr.bin/calendar/20160116.out
@@ -0,0 +1,26 @@
+Jan 16* Saturday+3: Third Saturday
+Jan 16* Sat+3: Third Saturday
+Jan 16* Saturday-3: Last (-3) Saturday
+Jan 16* Sat-3: Last (-3) Saturday
+Jan 16* Saturday+3: Third Saturday in January
+Jan 16* Sat+3: Third Saturday in January
+Jan 16* Third: Third Saturday in January
+Jan 16* 16 of every month
+Jan 16 1/16: January 16
+Jan 16 Jan. 16: January 16
+Jan 16 16 January: January 16
+ January: continued
+Jan 16* Saturday: Every Saturday
+Jan 17* Sunday+3: Third Sunday
+Jan 17* Sun+3: Third Sunday
+Jan 17* Sunday-3: Last (-3) Sunday
+Jan 17* Sun-3: Last (-3) Sunday
+Jan 17* Sunday+3: Third Sunday in January
+Jan 17* Sun+3: Third Sunday in January
+Jan 17* Third: Third Sunday in January
+Jan 17* 17 of every month
+Jan 17 1/17: January 17
+Jan 17 Jan. 17: January 17
+Jan 17 17 January: January 17
+ January: continued
+Jan 17* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160117.out b/regress/usr.bin/calendar/20160117.out
new file mode 100644
index 0000000..0cb9920
--- /dev/null
+++ b/regress/usr.bin/calendar/20160117.out
@@ -0,0 +1,26 @@
+Jan 17* Sunday+3: Third Sunday
+Jan 17* Sun+3: Third Sunday
+Jan 17* Sunday-3: Last (-3) Sunday
+Jan 17* Sun-3: Last (-3) Sunday
+Jan 17* Sunday+3: Third Sunday in January
+Jan 17* Sun+3: Third Sunday in January
+Jan 17* Third: Third Sunday in January
+Jan 17* 17 of every month
+Jan 17 1/17: January 17
+Jan 17 Jan. 17: January 17
+Jan 17 17 January: January 17
+ January: continued
+Jan 17* Sunday: Every Sunday
+Jan 18* Monday-2: Last (-2) Monday
+Jan 18* Mon-2: Last (-2) Monday
+Jan 18* Monday+3: Third Monday
+Jan 18* Mon+3: Third Monday
+Jan 18* Monday+3: Third Monday in January
+Jan 18* Mon+3: Third Monday in January
+Jan 18* Third: Third Monday in January
+Jan 18* 18 of every month
+Jan 18 1/18: January 18
+Jan 18 Jan. 18: January 18
+Jan 18 18 January: January 18
+ January: continued
+Jan 18* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160118.out b/regress/usr.bin/calendar/20160118.out
new file mode 100644
index 0000000..f2add2b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160118.out
@@ -0,0 +1,26 @@
+Jan 18* Monday-2: Last (-2) Monday
+Jan 18* Mon-2: Last (-2) Monday
+Jan 18* Monday+3: Third Monday
+Jan 18* Mon+3: Third Monday
+Jan 18* Monday+3: Third Monday in January
+Jan 18* Mon+3: Third Monday in January
+Jan 18* Third: Third Monday in January
+Jan 18* 18 of every month
+Jan 18 1/18: January 18
+Jan 18 Jan. 18: January 18
+Jan 18 18 January: January 18
+ January: continued
+Jan 18* Monday: Every Monday
+Jan 19* Tuesday-2: Last (-2) Tuesday
+Jan 19* Tue-2: Last (-2) Tuesday
+Jan 19* Tuesday+3: Third Tuesday
+Jan 19* Tue+3: Third Tuesday
+Jan 19* Tuesday+3: Third Tuesday in January
+Jan 19* Tue+3: Third Tuesday in January
+Jan 19* Third: Third Tuesday in January
+Jan 19* 19 of every month
+Jan 19 1/19: January 19
+Jan 19 Jan. 19: January 19
+Jan 19 19 January: January 19
+ January: continued
+Jan 19* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160119.out b/regress/usr.bin/calendar/20160119.out
new file mode 100644
index 0000000..e936be4
--- /dev/null
+++ b/regress/usr.bin/calendar/20160119.out
@@ -0,0 +1,26 @@
+Jan 19* Tuesday-2: Last (-2) Tuesday
+Jan 19* Tue-2: Last (-2) Tuesday
+Jan 19* Tuesday+3: Third Tuesday
+Jan 19* Tue+3: Third Tuesday
+Jan 19* Tuesday+3: Third Tuesday in January
+Jan 19* Tue+3: Third Tuesday in January
+Jan 19* Third: Third Tuesday in January
+Jan 19* 19 of every month
+Jan 19 1/19: January 19
+Jan 19 Jan. 19: January 19
+Jan 19 19 January: January 19
+ January: continued
+Jan 19* Tuesday: Every Tuesday
+Jan 20* Wednesday-2: Last (-2) Wednesday
+Jan 20* Wed-2: Last (-2) Wednesday
+Jan 20* Wednesday+3: Third Wednesday
+Jan 20* Wed+3: Third Wednesday
+Jan 20* Wednesday+3: Third Wednesday in January
+Jan 20* Wed+3: Third Wednesday in January
+Jan 20* Third: Third Wednesday in January
+Jan 20* 20 of every month
+Jan 20 1/20: January 20
+Jan 20 Jan. 20: January 20
+Jan 20 20 January: January 20
+ January: continued
+Jan 20* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160120.out b/regress/usr.bin/calendar/20160120.out
new file mode 100644
index 0000000..1ad0156
--- /dev/null
+++ b/regress/usr.bin/calendar/20160120.out
@@ -0,0 +1,26 @@
+Jan 20* Wednesday-2: Last (-2) Wednesday
+Jan 20* Wed-2: Last (-2) Wednesday
+Jan 20* Wednesday+3: Third Wednesday
+Jan 20* Wed+3: Third Wednesday
+Jan 20* Wednesday+3: Third Wednesday in January
+Jan 20* Wed+3: Third Wednesday in January
+Jan 20* Third: Third Wednesday in January
+Jan 20* 20 of every month
+Jan 20 1/20: January 20
+Jan 20 Jan. 20: January 20
+Jan 20 20 January: January 20
+ January: continued
+Jan 20* Wednesday: Every Wednesday
+Jan 21* Thursday-2: Last (-2) Thursday
+Jan 21* Thu-2: Last (-2) Thursday
+Jan 21* Thursday+3: Third Thursday
+Jan 21* Thu+3: Third Thursday
+Jan 21* Thursday+3: Third Thursday in January
+Jan 21* Thu+3: Third Thursday in January
+Jan 21* Third: Third Thursday in January
+Jan 21* 21 of every month
+Jan 21 1/21: January 21
+Jan 21 Jan. 21: January 21
+Jan 21 21 January: January 21
+ January: continued
+Jan 21* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160121.out b/regress/usr.bin/calendar/20160121.out
new file mode 100644
index 0000000..b9b9a1a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160121.out
@@ -0,0 +1,26 @@
+Jan 21* Thursday-2: Last (-2) Thursday
+Jan 21* Thu-2: Last (-2) Thursday
+Jan 21* Thursday+3: Third Thursday
+Jan 21* Thu+3: Third Thursday
+Jan 21* Thursday+3: Third Thursday in January
+Jan 21* Thu+3: Third Thursday in January
+Jan 21* Third: Third Thursday in January
+Jan 21* 21 of every month
+Jan 21 1/21: January 21
+Jan 21 Jan. 21: January 21
+Jan 21 21 January: January 21
+ January: continued
+Jan 21* Thursday: Every Thursday
+Jan 22* Friday-2: Last (-2) Friday
+Jan 22* Fri-2: Last (-2) Friday
+Jan 22* Friday+4: Fourth Friday
+Jan 22* Fri+4: Fourth Friday
+Jan 22* Friday+4: Fourth Friday in January
+Jan 22* Fri+4: Fourth Friday in January
+Jan 22* Fourth: Fourth Friday in January
+Jan 22* 22 of every month
+Jan 22 1/22: January 22
+Jan 22 Jan. 22: January 22
+Jan 22 22 January: January 22
+ January: continued
+Jan 22* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160122.out b/regress/usr.bin/calendar/20160122.out
new file mode 100644
index 0000000..a7cb0a7
--- /dev/null
+++ b/regress/usr.bin/calendar/20160122.out
@@ -0,0 +1,52 @@
+Jan 22* Friday-2: Last (-2) Friday
+Jan 22* Fri-2: Last (-2) Friday
+Jan 22* Friday+4: Fourth Friday
+Jan 22* Fri+4: Fourth Friday
+Jan 22* Friday+4: Fourth Friday in January
+Jan 22* Fri+4: Fourth Friday in January
+Jan 22* Fourth: Fourth Friday in January
+Jan 22* 22 of every month
+Jan 22 1/22: January 22
+Jan 22 Jan. 22: January 22
+Jan 22 22 January: January 22
+ January: continued
+Jan 22* Friday: Every Friday
+Jan 23* Saturday-2: Last (-2) Saturday
+Jan 23* Sat-2: Last (-2) Saturday
+Jan 23* Saturday+4: Fourth Saturday
+Jan 23* Sat+4: Fourth Saturday
+Jan 23* Saturday+4: Fourth Saturday in January
+Jan 23* Sat+4: Fourth Saturday in January
+Jan 23* Fourth: Fourth Saturday in January
+Jan 23* 23 of every month
+Jan 23 1/23: January 23
+Jan 23 Jan. 23: January 23
+Jan 23 23 January: January 23
+ January: continued
+Jan 23* Saturday: Every Saturday
+Jan 24* Sunday-2: Last (-2) Sunday
+Jan 24* Sun-2: Last (-2) Sunday
+Jan 24* Sunday+4: Fourth Sunday
+Jan 24* Sun+4: Fourth Sunday
+Jan 24* Sunday+4: Fourth Sunday in January
+Jan 24* Sun+4: Fourth Sunday in January
+Jan 24* Fourth: Fourth Sunday in January
+Jan 24* 24 of every month
+Jan 24 1/24: January 24
+Jan 24 Jan. 24: January 24
+Jan 24 24 January: January 24
+ January: continued
+Jan 24* Sunday: Every Sunday
+Jan 25* Monday-1: Last (-1) Monday
+Jan 25* Mon-1: Last (-1) Monday
+Jan 25* Monday+4: Fourth Monday
+Jan 25* Mon+4: Fourth Monday
+Jan 25* Monday+4: Fourth Monday in January
+Jan 25* Mon+4: Fourth Monday in January
+Jan 25* Fourth: Fourth Monday in January
+Jan 25* 25 of every month
+Jan 25 1/25: January 25
+Jan 25 Jan. 25: January 25
+Jan 25 25 January: January 25
+ January: continued
+Jan 25* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160123.out b/regress/usr.bin/calendar/20160123.out
new file mode 100644
index 0000000..04690ed
--- /dev/null
+++ b/regress/usr.bin/calendar/20160123.out
@@ -0,0 +1,26 @@
+Jan 23* Saturday-2: Last (-2) Saturday
+Jan 23* Sat-2: Last (-2) Saturday
+Jan 23* Saturday+4: Fourth Saturday
+Jan 23* Sat+4: Fourth Saturday
+Jan 23* Saturday+4: Fourth Saturday in January
+Jan 23* Sat+4: Fourth Saturday in January
+Jan 23* Fourth: Fourth Saturday in January
+Jan 23* 23 of every month
+Jan 23 1/23: January 23
+Jan 23 Jan. 23: January 23
+Jan 23 23 January: January 23
+ January: continued
+Jan 23* Saturday: Every Saturday
+Jan 24* Sunday-2: Last (-2) Sunday
+Jan 24* Sun-2: Last (-2) Sunday
+Jan 24* Sunday+4: Fourth Sunday
+Jan 24* Sun+4: Fourth Sunday
+Jan 24* Sunday+4: Fourth Sunday in January
+Jan 24* Sun+4: Fourth Sunday in January
+Jan 24* Fourth: Fourth Sunday in January
+Jan 24* 24 of every month
+Jan 24 1/24: January 24
+Jan 24 Jan. 24: January 24
+Jan 24 24 January: January 24
+ January: continued
+Jan 24* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160124.out b/regress/usr.bin/calendar/20160124.out
new file mode 100644
index 0000000..a3a79b7
--- /dev/null
+++ b/regress/usr.bin/calendar/20160124.out
@@ -0,0 +1,26 @@
+Jan 24* Sunday-2: Last (-2) Sunday
+Jan 24* Sun-2: Last (-2) Sunday
+Jan 24* Sunday+4: Fourth Sunday
+Jan 24* Sun+4: Fourth Sunday
+Jan 24* Sunday+4: Fourth Sunday in January
+Jan 24* Sun+4: Fourth Sunday in January
+Jan 24* Fourth: Fourth Sunday in January
+Jan 24* 24 of every month
+Jan 24 1/24: January 24
+Jan 24 Jan. 24: January 24
+Jan 24 24 January: January 24
+ January: continued
+Jan 24* Sunday: Every Sunday
+Jan 25* Monday-1: Last (-1) Monday
+Jan 25* Mon-1: Last (-1) Monday
+Jan 25* Monday+4: Fourth Monday
+Jan 25* Mon+4: Fourth Monday
+Jan 25* Monday+4: Fourth Monday in January
+Jan 25* Mon+4: Fourth Monday in January
+Jan 25* Fourth: Fourth Monday in January
+Jan 25* 25 of every month
+Jan 25 1/25: January 25
+Jan 25 Jan. 25: January 25
+Jan 25 25 January: January 25
+ January: continued
+Jan 25* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160125.out b/regress/usr.bin/calendar/20160125.out
new file mode 100644
index 0000000..95a3911
--- /dev/null
+++ b/regress/usr.bin/calendar/20160125.out
@@ -0,0 +1,26 @@
+Jan 25* Monday-1: Last (-1) Monday
+Jan 25* Mon-1: Last (-1) Monday
+Jan 25* Monday+4: Fourth Monday
+Jan 25* Mon+4: Fourth Monday
+Jan 25* Monday+4: Fourth Monday in January
+Jan 25* Mon+4: Fourth Monday in January
+Jan 25* Fourth: Fourth Monday in January
+Jan 25* 25 of every month
+Jan 25 1/25: January 25
+Jan 25 Jan. 25: January 25
+Jan 25 25 January: January 25
+ January: continued
+Jan 25* Monday: Every Monday
+Jan 26* Tuesday-1: Last (-1) Tuesday
+Jan 26* Tue-1: Last (-1) Tuesday
+Jan 26* Tuesday+4: Fourth Tuesday
+Jan 26* Tue+4: Fourth Tuesday
+Jan 26* Tuesday+4: Fourth Tuesday in January
+Jan 26* Tue+4: Fourth Tuesday in January
+Jan 26* Fourth: Fourth Tuesday in January
+Jan 26* 26 of every month
+Jan 26 1/26: January 26
+Jan 26 Jan. 26: January 26
+Jan 26 26 January: January 26
+ January: continued
+Jan 26* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160126.out b/regress/usr.bin/calendar/20160126.out
new file mode 100644
index 0000000..e668844
--- /dev/null
+++ b/regress/usr.bin/calendar/20160126.out
@@ -0,0 +1,26 @@
+Jan 26* Tuesday-1: Last (-1) Tuesday
+Jan 26* Tue-1: Last (-1) Tuesday
+Jan 26* Tuesday+4: Fourth Tuesday
+Jan 26* Tue+4: Fourth Tuesday
+Jan 26* Tuesday+4: Fourth Tuesday in January
+Jan 26* Tue+4: Fourth Tuesday in January
+Jan 26* Fourth: Fourth Tuesday in January
+Jan 26* 26 of every month
+Jan 26 1/26: January 26
+Jan 26 Jan. 26: January 26
+Jan 26 26 January: January 26
+ January: continued
+Jan 26* Tuesday: Every Tuesday
+Jan 27* Wednesday-1: Last (-1) Wednesday
+Jan 27* Wed-1: Last (-1) Wednesday
+Jan 27* Wednesday+4: Fourth Wednesday
+Jan 27* Wed+4: Fourth Wednesday
+Jan 27* Wednesday+4: Fourth Wednesday in January
+Jan 27* Wed+4: Fourth Wednesday in January
+Jan 27* Fourth: Fourth Wednesday in January
+Jan 27* 27 of every month
+Jan 27 1/27: January 27
+Jan 27 Jan. 27: January 27
+Jan 27 27 January: January 27
+ January: continued
+Jan 27* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160127.out b/regress/usr.bin/calendar/20160127.out
new file mode 100644
index 0000000..f85b664
--- /dev/null
+++ b/regress/usr.bin/calendar/20160127.out
@@ -0,0 +1,26 @@
+Jan 27* Wednesday-1: Last (-1) Wednesday
+Jan 27* Wed-1: Last (-1) Wednesday
+Jan 27* Wednesday+4: Fourth Wednesday
+Jan 27* Wed+4: Fourth Wednesday
+Jan 27* Wednesday+4: Fourth Wednesday in January
+Jan 27* Wed+4: Fourth Wednesday in January
+Jan 27* Fourth: Fourth Wednesday in January
+Jan 27* 27 of every month
+Jan 27 1/27: January 27
+Jan 27 Jan. 27: January 27
+Jan 27 27 January: January 27
+ January: continued
+Jan 27* Wednesday: Every Wednesday
+Jan 28* Thursday-1: Last (-1) Thursday
+Jan 28* Thu-1: Last (-1) Thursday
+Jan 28* Thursday+4: Fourth Thursday
+Jan 28* Thu+4: Fourth Thursday
+Jan 28* Thursday+4: Fourth Thursday in January
+Jan 28* Thu+4: Fourth Thursday in January
+Jan 28* Fourth: Fourth Thursday in January
+Jan 28* 28 of every month
+Jan 28 1/28: January 28
+Jan 28 Jan. 28: January 28
+Jan 28 28 January: January 28
+ January: continued
+Jan 28* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160128.out b/regress/usr.bin/calendar/20160128.out
new file mode 100644
index 0000000..0e3fcb2
--- /dev/null
+++ b/regress/usr.bin/calendar/20160128.out
@@ -0,0 +1,26 @@
+Jan 28* Thursday-1: Last (-1) Thursday
+Jan 28* Thu-1: Last (-1) Thursday
+Jan 28* Thursday+4: Fourth Thursday
+Jan 28* Thu+4: Fourth Thursday
+Jan 28* Thursday+4: Fourth Thursday in January
+Jan 28* Thu+4: Fourth Thursday in January
+Jan 28* Fourth: Fourth Thursday in January
+Jan 28* 28 of every month
+Jan 28 1/28: January 28
+Jan 28 Jan. 28: January 28
+Jan 28 28 January: January 28
+ January: continued
+Jan 28* Thursday: Every Thursday
+Jan 29* Friday-1: Last (-1) Friday
+Jan 29* Fri-1: Last (-1) Friday
+Jan 29* Friday+5: Fifth Friday
+Jan 29* Fri+5: Fifth Friday
+Jan 29* Friday+5: Fifth Friday in January
+Jan 29* Fri+5: Fifth Friday in January
+Jan 29* Fifth: Fifth Friday in January
+Jan 29* 29 of every month
+Jan 29 1/29: January 29
+Jan 29 Jan. 29: January 29
+Jan 29 29 January: January 29
+ January: continued
+Jan 29* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160129.out b/regress/usr.bin/calendar/20160129.out
new file mode 100644
index 0000000..3056793
--- /dev/null
+++ b/regress/usr.bin/calendar/20160129.out
@@ -0,0 +1,55 @@
+Jan 29* Friday-1: Last (-1) Friday
+Jan 29* Fri-1: Last (-1) Friday
+Jan 29* Friday+5: Fifth Friday
+Jan 29* Fri+5: Fifth Friday
+Jan 29* Friday+5: Fifth Friday in January
+Jan 29* Fri+5: Fifth Friday in January
+Jan 29* Fifth: Fifth Friday in January
+Jan 29* 29 of every month
+Jan 29 1/29: January 29
+Jan 29 Jan. 29: January 29
+Jan 29 29 January: January 29
+ January: continued
+Jan 29* Friday: Every Friday
+Jan 30* Saturday-1: Last (-1) Saturday
+Jan 30* Sat-1: Last (-1) Saturday
+Jan 30* Saturday+5: Fifth Saturday
+Jan 30* Sat+5: Fifth Saturday
+Jan 30* Saturday+5: Fifth Saturday in January
+Jan 30* Sat+5: Fifth Saturday in January
+Jan 30* Fifth: Fifth Saturday in January
+Jan 30* 30 of every month
+Jan 30 1/30: January 30
+Jan 30 Jan. 30: January 30
+Jan 30 30 January: January 30
+ January: continued
+Jan 30* Saturday: Every Saturday
+Jan 31* Sunday-1: Last (-1) Sunday
+Jan 31* Sun-1: Last (-1) Sunday
+Jan 31* Sunday+5: Fifth Sunday
+Jan 31* Sun+5: Fifth Sunday
+Jan 31* Sunday+5: Fifth Sunday in January
+Jan 31* Sun+5: Fifth Sunday in January
+Jan 31* Fifth: Fifth Sunday in January
+Jan 31* 31 of every month
+Jan 31 1/31: January 31
+Jan 31 Jan. 31: January 31
+Jan 31 31 January: January 31
+ January: continued
+Jan 31* Sunday: Every Sunday
+Feb 01* Monday+1: First Monday
+Feb 01* Mon+1: First Monday
+Feb 01* Monday+1: First Monday in February
+Feb 01* Mon+1: First Monday in February
+Feb 01* First: First Monday in February
+Feb 01* Monday+5: Fifth Monday in January
+Feb 01* Mon+5: Fifth Monday in January
+Feb 01* Fifth: Fifth Monday in January
+Feb 01* 1 of every month
+Feb 01 2/1: February 1
+Feb 01 Feb. 1: February 1
+Feb 01 1 February: February 1
+ February: continued
+Feb 01* *: Beginning of every month
+Feb 01* Monday: Every Monday
+Feb 01 February: Every February 1st
diff --git a/regress/usr.bin/calendar/20160130.out b/regress/usr.bin/calendar/20160130.out
new file mode 100644
index 0000000..dcc1eeb
--- /dev/null
+++ b/regress/usr.bin/calendar/20160130.out
@@ -0,0 +1,26 @@
+Jan 30* Saturday-1: Last (-1) Saturday
+Jan 30* Sat-1: Last (-1) Saturday
+Jan 30* Saturday+5: Fifth Saturday
+Jan 30* Sat+5: Fifth Saturday
+Jan 30* Saturday+5: Fifth Saturday in January
+Jan 30* Sat+5: Fifth Saturday in January
+Jan 30* Fifth: Fifth Saturday in January
+Jan 30* 30 of every month
+Jan 30 1/30: January 30
+Jan 30 Jan. 30: January 30
+Jan 30 30 January: January 30
+ January: continued
+Jan 30* Saturday: Every Saturday
+Jan 31* Sunday-1: Last (-1) Sunday
+Jan 31* Sun-1: Last (-1) Sunday
+Jan 31* Sunday+5: Fifth Sunday
+Jan 31* Sun+5: Fifth Sunday
+Jan 31* Sunday+5: Fifth Sunday in January
+Jan 31* Sun+5: Fifth Sunday in January
+Jan 31* Fifth: Fifth Sunday in January
+Jan 31* 31 of every month
+Jan 31 1/31: January 31
+Jan 31 Jan. 31: January 31
+Jan 31 31 January: January 31
+ January: continued
+Jan 31* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160131.out b/regress/usr.bin/calendar/20160131.out
new file mode 100644
index 0000000..b074f53
--- /dev/null
+++ b/regress/usr.bin/calendar/20160131.out
@@ -0,0 +1,29 @@
+Jan 31* Sunday-1: Last (-1) Sunday
+Jan 31* Sun-1: Last (-1) Sunday
+Jan 31* Sunday+5: Fifth Sunday
+Jan 31* Sun+5: Fifth Sunday
+Jan 31* Sunday+5: Fifth Sunday in January
+Jan 31* Sun+5: Fifth Sunday in January
+Jan 31* Fifth: Fifth Sunday in January
+Jan 31* 31 of every month
+Jan 31 1/31: January 31
+Jan 31 Jan. 31: January 31
+Jan 31 31 January: January 31
+ January: continued
+Jan 31* Sunday: Every Sunday
+Feb 01* Monday+1: First Monday
+Feb 01* Mon+1: First Monday
+Feb 01* Monday+1: First Monday in February
+Feb 01* Mon+1: First Monday in February
+Feb 01* First: First Monday in February
+Feb 01* Monday+5: Fifth Monday in January
+Feb 01* Mon+5: Fifth Monday in January
+Feb 01* Fifth: Fifth Monday in January
+Feb 01* 1 of every month
+Feb 01 2/1: February 1
+Feb 01 Feb. 1: February 1
+Feb 01 1 February: February 1
+ February: continued
+Feb 01* *: Beginning of every month
+Feb 01* Monday: Every Monday
+Feb 01 February: Every February 1st
diff --git a/regress/usr.bin/calendar/20160201.out b/regress/usr.bin/calendar/20160201.out
new file mode 100644
index 0000000..8cef108
--- /dev/null
+++ b/regress/usr.bin/calendar/20160201.out
@@ -0,0 +1,32 @@
+Feb 01* Monday+1: First Monday
+Feb 01* Mon+1: First Monday
+Feb 01* Monday+1: First Monday in February
+Feb 01* Mon+1: First Monday in February
+Feb 01* First: First Monday in February
+Feb 01* Monday+5: Fifth Monday in January
+Feb 01* Mon+5: Fifth Monday in January
+Feb 01* Fifth: Fifth Monday in January
+Feb 01* 1 of every month
+Feb 01 2/1: February 1
+Feb 01 Feb. 1: February 1
+Feb 01 1 February: February 1
+ February: continued
+Feb 01* *: Beginning of every month
+Feb 01* Monday: Every Monday
+Feb 01 February: Every February 1st
+Feb 02* Tuesday+1: First Tuesday
+Feb 02* Tue+1: First Tuesday
+Feb 02* Tuesday+1: First Tuesday in February
+Feb 02* Tue+1: First Tuesday in February
+Feb 02* First: First Tuesday in February
+Feb 02* Tuesday-4: Last (-4) Tuesday
+Feb 02* Tue-4: Last (-4) Tuesday
+Feb 02* Tuesday+5: Fifth Tuesday in January
+Feb 02* Tue+5: Fifth Tuesday in January
+Feb 02* Fifth: Fifth Tuesday in January
+Feb 02* 2 of every month
+Feb 02 2/2: February 2
+Feb 02 Feb. 2: February 2
+Feb 02 2 February: February 2
+ February: continued
+Feb 02* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160202.out b/regress/usr.bin/calendar/20160202.out
new file mode 100644
index 0000000..6d1bd17
--- /dev/null
+++ b/regress/usr.bin/calendar/20160202.out
@@ -0,0 +1,32 @@
+Feb 02* Tuesday+1: First Tuesday
+Feb 02* Tue+1: First Tuesday
+Feb 02* Tuesday+1: First Tuesday in February
+Feb 02* Tue+1: First Tuesday in February
+Feb 02* First: First Tuesday in February
+Feb 02* Tuesday-4: Last (-4) Tuesday
+Feb 02* Tue-4: Last (-4) Tuesday
+Feb 02* Tuesday+5: Fifth Tuesday in January
+Feb 02* Tue+5: Fifth Tuesday in January
+Feb 02* Fifth: Fifth Tuesday in January
+Feb 02* 2 of every month
+Feb 02 2/2: February 2
+Feb 02 Feb. 2: February 2
+Feb 02 2 February: February 2
+ February: continued
+Feb 02* Tuesday: Every Tuesday
+Feb 03* Wednesday+1: First Wednesday
+Feb 03* Wed+1: First Wednesday
+Feb 03* Wednesday+1: First Wednesday in February
+Feb 03* Wed+1: First Wednesday in February
+Feb 03* First: First Wednesday in February
+Feb 03* Wednesday-4: Last (-4) Wednesday
+Feb 03* Wed-4: Last (-4) Wednesday
+Feb 03* Wednesday+5: Fifth Wednesday in January
+Feb 03* Wed+5: Fifth Wednesday in January
+Feb 03* Fifth: Fifth Wednesday in January
+Feb 03* 3 of every month
+Feb 03 2/3: February 3
+Feb 03 Feb. 3: February 3
+Feb 03 3 February: February 3
+ February: continued
+Feb 03* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160203.out b/regress/usr.bin/calendar/20160203.out
new file mode 100644
index 0000000..1718d51
--- /dev/null
+++ b/regress/usr.bin/calendar/20160203.out
@@ -0,0 +1,32 @@
+Feb 03* Wednesday+1: First Wednesday
+Feb 03* Wed+1: First Wednesday
+Feb 03* Wednesday+1: First Wednesday in February
+Feb 03* Wed+1: First Wednesday in February
+Feb 03* First: First Wednesday in February
+Feb 03* Wednesday-4: Last (-4) Wednesday
+Feb 03* Wed-4: Last (-4) Wednesday
+Feb 03* Wednesday+5: Fifth Wednesday in January
+Feb 03* Wed+5: Fifth Wednesday in January
+Feb 03* Fifth: Fifth Wednesday in January
+Feb 03* 3 of every month
+Feb 03 2/3: February 3
+Feb 03 Feb. 3: February 3
+Feb 03 3 February: February 3
+ February: continued
+Feb 03* Wednesday: Every Wednesday
+Feb 04* Thursday+1: First Thursday
+Feb 04* Thu+1: First Thursday
+Feb 04* Thursday+1: First Thursday in February
+Feb 04* Thu+1: First Thursday in February
+Feb 04* First: First Thursday in February
+Feb 04* Thursday-4: Last (-4) Thursday
+Feb 04* Thu-4: Last (-4) Thursday
+Feb 04* Thursday+5: Fifth Thursday in January
+Feb 04* Thu+5: Fifth Thursday in January
+Feb 04* Fifth: Fifth Thursday in January
+Feb 04* 4 of every month
+Feb 04 2/4: February 4
+Feb 04 Feb. 4: February 4
+Feb 04 4 February: February 4
+ February: continued
+Feb 04* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160204.out b/regress/usr.bin/calendar/20160204.out
new file mode 100644
index 0000000..afb945b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160204.out
@@ -0,0 +1,29 @@
+Feb 04* Thursday+1: First Thursday
+Feb 04* Thu+1: First Thursday
+Feb 04* Thursday+1: First Thursday in February
+Feb 04* Thu+1: First Thursday in February
+Feb 04* First: First Thursday in February
+Feb 04* Thursday-4: Last (-4) Thursday
+Feb 04* Thu-4: Last (-4) Thursday
+Feb 04* Thursday+5: Fifth Thursday in January
+Feb 04* Thu+5: Fifth Thursday in January
+Feb 04* Fifth: Fifth Thursday in January
+Feb 04* 4 of every month
+Feb 04 2/4: February 4
+Feb 04 Feb. 4: February 4
+Feb 04 4 February: February 4
+ February: continued
+Feb 04* Thursday: Every Thursday
+Feb 05* Friday+1: First Friday
+Feb 05* Fri+1: First Friday
+Feb 05* Friday+1: First Friday in February
+Feb 05* Fri+1: First Friday in February
+Feb 05* First: First Friday in February
+Feb 05* Friday-4: Last (-4) Friday
+Feb 05* Fri-4: Last (-4) Friday
+Feb 05* 5 of every month
+Feb 05 2/5: February 5
+Feb 05 Feb. 5: February 5
+Feb 05 5 February: February 5
+ February: continued
+Feb 05* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160205.out b/regress/usr.bin/calendar/20160205.out
new file mode 100644
index 0000000..d8c9bff
--- /dev/null
+++ b/regress/usr.bin/calendar/20160205.out
@@ -0,0 +1,52 @@
+Feb 05* Friday+1: First Friday
+Feb 05* Fri+1: First Friday
+Feb 05* Friday+1: First Friday in February
+Feb 05* Fri+1: First Friday in February
+Feb 05* First: First Friday in February
+Feb 05* Friday-4: Last (-4) Friday
+Feb 05* Fri-4: Last (-4) Friday
+Feb 05* 5 of every month
+Feb 05 2/5: February 5
+Feb 05 Feb. 5: February 5
+Feb 05 5 February: February 5
+ February: continued
+Feb 05* Friday: Every Friday
+Feb 06* Saturday+1: First Saturday
+Feb 06* Sat+1: First Saturday
+Feb 06* Saturday+1: First Saturday in February
+Feb 06* Sat+1: First Saturday in February
+Feb 06* First: First Saturday in February
+Feb 06* Saturday-4: Last (-4) Saturday
+Feb 06* Sat-4: Last (-4) Saturday
+Feb 06* 6 of every month
+Feb 06 2/6: February 6
+Feb 06 Feb. 6: February 6
+Feb 06 6 February: February 6
+ February: continued
+Feb 06* Saturday: Every Saturday
+Feb 07* Sunday+1: First Sunday
+Feb 07* Sun+1: First Sunday
+Feb 07* Sunday+1: First Sunday in February
+Feb 07* Sun+1: First Sunday in February
+Feb 07* First: First Sunday in February
+Feb 07* Sunday-4: Last (-4) Sunday
+Feb 07* Sun-4: Last (-4) Sunday
+Feb 07* 7 of every month
+Feb 07 2/7: February 7
+Feb 07 Feb. 7: February 7
+Feb 07 7 February: February 7
+ February: continued
+Feb 07* Sunday: Every Sunday
+Feb 08* Monday+2: Second Monday
+Feb 08* Mon+2: Second Monday
+Feb 08* Monday+2: Second Monday in February
+Feb 08* Mon+2: Second Monday in February
+Feb 08* Second: Second Monday in February
+Feb 08* Monday-4: Last (-4) Monday
+Feb 08* Mon-4: Last (-4) Monday
+Feb 08* 8 of every month
+Feb 08 2/8: February 8
+Feb 08 Feb. 8: February 8
+Feb 08 8 February: February 8
+ February: continued
+Feb 08* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160206.out b/regress/usr.bin/calendar/20160206.out
new file mode 100644
index 0000000..b794f6a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160206.out
@@ -0,0 +1,26 @@
+Feb 06* Saturday+1: First Saturday
+Feb 06* Sat+1: First Saturday
+Feb 06* Saturday+1: First Saturday in February
+Feb 06* Sat+1: First Saturday in February
+Feb 06* First: First Saturday in February
+Feb 06* Saturday-4: Last (-4) Saturday
+Feb 06* Sat-4: Last (-4) Saturday
+Feb 06* 6 of every month
+Feb 06 2/6: February 6
+Feb 06 Feb. 6: February 6
+Feb 06 6 February: February 6
+ February: continued
+Feb 06* Saturday: Every Saturday
+Feb 07* Sunday+1: First Sunday
+Feb 07* Sun+1: First Sunday
+Feb 07* Sunday+1: First Sunday in February
+Feb 07* Sun+1: First Sunday in February
+Feb 07* First: First Sunday in February
+Feb 07* Sunday-4: Last (-4) Sunday
+Feb 07* Sun-4: Last (-4) Sunday
+Feb 07* 7 of every month
+Feb 07 2/7: February 7
+Feb 07 Feb. 7: February 7
+Feb 07 7 February: February 7
+ February: continued
+Feb 07* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160207.out b/regress/usr.bin/calendar/20160207.out
new file mode 100644
index 0000000..7eec435
--- /dev/null
+++ b/regress/usr.bin/calendar/20160207.out
@@ -0,0 +1,26 @@
+Feb 07* Sunday+1: First Sunday
+Feb 07* Sun+1: First Sunday
+Feb 07* Sunday+1: First Sunday in February
+Feb 07* Sun+1: First Sunday in February
+Feb 07* First: First Sunday in February
+Feb 07* Sunday-4: Last (-4) Sunday
+Feb 07* Sun-4: Last (-4) Sunday
+Feb 07* 7 of every month
+Feb 07 2/7: February 7
+Feb 07 Feb. 7: February 7
+Feb 07 7 February: February 7
+ February: continued
+Feb 07* Sunday: Every Sunday
+Feb 08* Monday+2: Second Monday
+Feb 08* Mon+2: Second Monday
+Feb 08* Monday+2: Second Monday in February
+Feb 08* Mon+2: Second Monday in February
+Feb 08* Second: Second Monday in February
+Feb 08* Monday-4: Last (-4) Monday
+Feb 08* Mon-4: Last (-4) Monday
+Feb 08* 8 of every month
+Feb 08 2/8: February 8
+Feb 08 Feb. 8: February 8
+Feb 08 8 February: February 8
+ February: continued
+Feb 08* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160208.out b/regress/usr.bin/calendar/20160208.out
new file mode 100644
index 0000000..fcfab12
--- /dev/null
+++ b/regress/usr.bin/calendar/20160208.out
@@ -0,0 +1,26 @@
+Feb 08* Monday+2: Second Monday
+Feb 08* Mon+2: Second Monday
+Feb 08* Monday+2: Second Monday in February
+Feb 08* Mon+2: Second Monday in February
+Feb 08* Second: Second Monday in February
+Feb 08* Monday-4: Last (-4) Monday
+Feb 08* Mon-4: Last (-4) Monday
+Feb 08* 8 of every month
+Feb 08 2/8: February 8
+Feb 08 Feb. 8: February 8
+Feb 08 8 February: February 8
+ February: continued
+Feb 08* Monday: Every Monday
+Feb 09* Tuesday+2: Second Tuesday
+Feb 09* Tue+2: Second Tuesday
+Feb 09* Tuesday+2: Second Tuesday in February
+Feb 09* Tue+2: Second Tuesday in February
+Feb 09* Second: Second Tuesday in February
+Feb 09* Tuesday-3: Last (-3) Tuesday
+Feb 09* Tue-3: Last (-3) Tuesday
+Feb 09* 9 of every month
+Feb 09 2/9: February 9
+Feb 09 Feb. 9: February 9
+Feb 09 9 February: February 9
+ February: continued
+Feb 09* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160209.out b/regress/usr.bin/calendar/20160209.out
new file mode 100644
index 0000000..ae7fe76
--- /dev/null
+++ b/regress/usr.bin/calendar/20160209.out
@@ -0,0 +1,26 @@
+Feb 09* Tuesday+2: Second Tuesday
+Feb 09* Tue+2: Second Tuesday
+Feb 09* Tuesday+2: Second Tuesday in February
+Feb 09* Tue+2: Second Tuesday in February
+Feb 09* Second: Second Tuesday in February
+Feb 09* Tuesday-3: Last (-3) Tuesday
+Feb 09* Tue-3: Last (-3) Tuesday
+Feb 09* 9 of every month
+Feb 09 2/9: February 9
+Feb 09 Feb. 9: February 9
+Feb 09 9 February: February 9
+ February: continued
+Feb 09* Tuesday: Every Tuesday
+Feb 10* Wednesday+2: Second Wednesday
+Feb 10* Wed+2: Second Wednesday
+Feb 10* Wednesday+2: Second Wednesday in February
+Feb 10* Wed+2: Second Wednesday in February
+Feb 10* Second: Second Wednesday in February
+Feb 10* Wednesday-3: Last (-3) Wednesday
+Feb 10* Wed-3: Last (-3) Wednesday
+Feb 10* 10 of every month
+Feb 10 2/10: February 10
+Feb 10 Feb. 10: February 10
+Feb 10 10 February: February 10
+ February: continued
+Feb 10* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160210.out b/regress/usr.bin/calendar/20160210.out
new file mode 100644
index 0000000..d356f5e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160210.out
@@ -0,0 +1,26 @@
+Feb 10* Wednesday+2: Second Wednesday
+Feb 10* Wed+2: Second Wednesday
+Feb 10* Wednesday+2: Second Wednesday in February
+Feb 10* Wed+2: Second Wednesday in February
+Feb 10* Second: Second Wednesday in February
+Feb 10* Wednesday-3: Last (-3) Wednesday
+Feb 10* Wed-3: Last (-3) Wednesday
+Feb 10* 10 of every month
+Feb 10 2/10: February 10
+Feb 10 Feb. 10: February 10
+Feb 10 10 February: February 10
+ February: continued
+Feb 10* Wednesday: Every Wednesday
+Feb 11* Thursday+2: Second Thursday
+Feb 11* Thu+2: Second Thursday
+Feb 11* Thursday+2: Second Thursday in February
+Feb 11* Thu+2: Second Thursday in February
+Feb 11* Second: Second Thursday in February
+Feb 11* Thursday-3: Last (-3) Thursday
+Feb 11* Thu-3: Last (-3) Thursday
+Feb 11* 11 of every month
+Feb 11 2/11: February 11
+Feb 11 Feb. 11: February 11
+Feb 11 11 February: February 11
+ February: continued
+Feb 11* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160211.out b/regress/usr.bin/calendar/20160211.out
new file mode 100644
index 0000000..3bccfa5
--- /dev/null
+++ b/regress/usr.bin/calendar/20160211.out
@@ -0,0 +1,26 @@
+Feb 11* Thursday+2: Second Thursday
+Feb 11* Thu+2: Second Thursday
+Feb 11* Thursday+2: Second Thursday in February
+Feb 11* Thu+2: Second Thursday in February
+Feb 11* Second: Second Thursday in February
+Feb 11* Thursday-3: Last (-3) Thursday
+Feb 11* Thu-3: Last (-3) Thursday
+Feb 11* 11 of every month
+Feb 11 2/11: February 11
+Feb 11 Feb. 11: February 11
+Feb 11 11 February: February 11
+ February: continued
+Feb 11* Thursday: Every Thursday
+Feb 12* Friday+2: Second Friday
+Feb 12* Fri+2: Second Friday
+Feb 12* Friday+2: Second Friday in February
+Feb 12* Fri+2: Second Friday in February
+Feb 12* Second: Second Friday in February
+Feb 12* Friday-3: Last (-3) Friday
+Feb 12* Fri-3: Last (-3) Friday
+Feb 12* 12 of every month
+Feb 12 2/12: February 12
+Feb 12 Feb. 12: February 12
+Feb 12 12 February: February 12
+ February: continued
+Feb 12* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160212.out b/regress/usr.bin/calendar/20160212.out
new file mode 100644
index 0000000..7bbb7fc
--- /dev/null
+++ b/regress/usr.bin/calendar/20160212.out
@@ -0,0 +1,52 @@
+Feb 12* Friday+2: Second Friday
+Feb 12* Fri+2: Second Friday
+Feb 12* Friday+2: Second Friday in February
+Feb 12* Fri+2: Second Friday in February
+Feb 12* Second: Second Friday in February
+Feb 12* Friday-3: Last (-3) Friday
+Feb 12* Fri-3: Last (-3) Friday
+Feb 12* 12 of every month
+Feb 12 2/12: February 12
+Feb 12 Feb. 12: February 12
+Feb 12 12 February: February 12
+ February: continued
+Feb 12* Friday: Every Friday
+Feb 13* Saturday+2: Second Saturday
+Feb 13* Sat+2: Second Saturday
+Feb 13* Saturday+2: Second Saturday in February
+Feb 13* Sat+2: Second Saturday in February
+Feb 13* Second: Second Saturday in February
+Feb 13* Saturday-3: Last (-3) Saturday
+Feb 13* Sat-3: Last (-3) Saturday
+Feb 13* 13 of every month
+Feb 13 2/13: February 13
+Feb 13 Feb. 13: February 13
+Feb 13 13 February: February 13
+ February: continued
+Feb 13* Saturday: Every Saturday
+Feb 14* Sunday+2: Second Sunday
+Feb 14* Sun+2: Second Sunday
+Feb 14* Sunday+2: Second Sunday in February
+Feb 14* Sun+2: Second Sunday in February
+Feb 14* Second: Second Sunday in February
+Feb 14* Sunday-3: Last (-3) Sunday
+Feb 14* Sun-3: Last (-3) Sunday
+Feb 14* 14 of every month
+Feb 14 2/14: February 14
+Feb 14 Feb. 14: February 14
+Feb 14 14 February: February 14
+ February: continued
+Feb 14* Sunday: Every Sunday
+Feb 15* Monday+3: Third Monday
+Feb 15* Mon+3: Third Monday
+Feb 15* Monday-3: Last (-3) Monday
+Feb 15* Mon-3: Last (-3) Monday
+Feb 15* Monday+3: Third Monday in February
+Feb 15* Mon+3: Third Monday in February
+Feb 15* Third: Third Monday in February
+Feb 15* 15 of every month
+Feb 15 2/15: February 15
+Feb 15 Feb. 15: February 15
+Feb 15 15 February: February 15
+ February: continued
+Feb 15* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160213.out b/regress/usr.bin/calendar/20160213.out
new file mode 100644
index 0000000..6bb6375
--- /dev/null
+++ b/regress/usr.bin/calendar/20160213.out
@@ -0,0 +1,26 @@
+Feb 13* Saturday+2: Second Saturday
+Feb 13* Sat+2: Second Saturday
+Feb 13* Saturday+2: Second Saturday in February
+Feb 13* Sat+2: Second Saturday in February
+Feb 13* Second: Second Saturday in February
+Feb 13* Saturday-3: Last (-3) Saturday
+Feb 13* Sat-3: Last (-3) Saturday
+Feb 13* 13 of every month
+Feb 13 2/13: February 13
+Feb 13 Feb. 13: February 13
+Feb 13 13 February: February 13
+ February: continued
+Feb 13* Saturday: Every Saturday
+Feb 14* Sunday+2: Second Sunday
+Feb 14* Sun+2: Second Sunday
+Feb 14* Sunday+2: Second Sunday in February
+Feb 14* Sun+2: Second Sunday in February
+Feb 14* Second: Second Sunday in February
+Feb 14* Sunday-3: Last (-3) Sunday
+Feb 14* Sun-3: Last (-3) Sunday
+Feb 14* 14 of every month
+Feb 14 2/14: February 14
+Feb 14 Feb. 14: February 14
+Feb 14 14 February: February 14
+ February: continued
+Feb 14* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160214.out b/regress/usr.bin/calendar/20160214.out
new file mode 100644
index 0000000..770db95
--- /dev/null
+++ b/regress/usr.bin/calendar/20160214.out
@@ -0,0 +1,26 @@
+Feb 14* Sunday+2: Second Sunday
+Feb 14* Sun+2: Second Sunday
+Feb 14* Sunday+2: Second Sunday in February
+Feb 14* Sun+2: Second Sunday in February
+Feb 14* Second: Second Sunday in February
+Feb 14* Sunday-3: Last (-3) Sunday
+Feb 14* Sun-3: Last (-3) Sunday
+Feb 14* 14 of every month
+Feb 14 2/14: February 14
+Feb 14 Feb. 14: February 14
+Feb 14 14 February: February 14
+ February: continued
+Feb 14* Sunday: Every Sunday
+Feb 15* Monday+3: Third Monday
+Feb 15* Mon+3: Third Monday
+Feb 15* Monday-3: Last (-3) Monday
+Feb 15* Mon-3: Last (-3) Monday
+Feb 15* Monday+3: Third Monday in February
+Feb 15* Mon+3: Third Monday in February
+Feb 15* Third: Third Monday in February
+Feb 15* 15 of every month
+Feb 15 2/15: February 15
+Feb 15 Feb. 15: February 15
+Feb 15 15 February: February 15
+ February: continued
+Feb 15* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160215.out b/regress/usr.bin/calendar/20160215.out
new file mode 100644
index 0000000..9b14f9a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160215.out
@@ -0,0 +1,26 @@
+Feb 15* Monday+3: Third Monday
+Feb 15* Mon+3: Third Monday
+Feb 15* Monday-3: Last (-3) Monday
+Feb 15* Mon-3: Last (-3) Monday
+Feb 15* Monday+3: Third Monday in February
+Feb 15* Mon+3: Third Monday in February
+Feb 15* Third: Third Monday in February
+Feb 15* 15 of every month
+Feb 15 2/15: February 15
+Feb 15 Feb. 15: February 15
+Feb 15 15 February: February 15
+ February: continued
+Feb 15* Monday: Every Monday
+Feb 16* Tuesday-2: Last (-2) Tuesday
+Feb 16* Tue-2: Last (-2) Tuesday
+Feb 16* Tuesday+3: Third Tuesday
+Feb 16* Tue+3: Third Tuesday
+Feb 16* Tuesday+3: Third Tuesday in February
+Feb 16* Tue+3: Third Tuesday in February
+Feb 16* Third: Third Tuesday in February
+Feb 16* 16 of every month
+Feb 16 2/16: February 16
+Feb 16 Feb. 16: February 16
+Feb 16 16 February: February 16
+ February: continued
+Feb 16* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160216.out b/regress/usr.bin/calendar/20160216.out
new file mode 100644
index 0000000..d4efcf1
--- /dev/null
+++ b/regress/usr.bin/calendar/20160216.out
@@ -0,0 +1,26 @@
+Feb 16* Tuesday-2: Last (-2) Tuesday
+Feb 16* Tue-2: Last (-2) Tuesday
+Feb 16* Tuesday+3: Third Tuesday
+Feb 16* Tue+3: Third Tuesday
+Feb 16* Tuesday+3: Third Tuesday in February
+Feb 16* Tue+3: Third Tuesday in February
+Feb 16* Third: Third Tuesday in February
+Feb 16* 16 of every month
+Feb 16 2/16: February 16
+Feb 16 Feb. 16: February 16
+Feb 16 16 February: February 16
+ February: continued
+Feb 16* Tuesday: Every Tuesday
+Feb 17* Wednesday-2: Last (-2) Wednesday
+Feb 17* Wed-2: Last (-2) Wednesday
+Feb 17* Wednesday+3: Third Wednesday
+Feb 17* Wed+3: Third Wednesday
+Feb 17* Wednesday+3: Third Wednesday in February
+Feb 17* Wed+3: Third Wednesday in February
+Feb 17* Third: Third Wednesday in February
+Feb 17* 17 of every month
+Feb 17 2/17: February 17
+Feb 17 Feb. 17: February 17
+Feb 17 17 February: February 17
+ February: continued
+Feb 17* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160217.out b/regress/usr.bin/calendar/20160217.out
new file mode 100644
index 0000000..b2e33e6
--- /dev/null
+++ b/regress/usr.bin/calendar/20160217.out
@@ -0,0 +1,26 @@
+Feb 17* Wednesday-2: Last (-2) Wednesday
+Feb 17* Wed-2: Last (-2) Wednesday
+Feb 17* Wednesday+3: Third Wednesday
+Feb 17* Wed+3: Third Wednesday
+Feb 17* Wednesday+3: Third Wednesday in February
+Feb 17* Wed+3: Third Wednesday in February
+Feb 17* Third: Third Wednesday in February
+Feb 17* 17 of every month
+Feb 17 2/17: February 17
+Feb 17 Feb. 17: February 17
+Feb 17 17 February: February 17
+ February: continued
+Feb 17* Wednesday: Every Wednesday
+Feb 18* Thursday-2: Last (-2) Thursday
+Feb 18* Thu-2: Last (-2) Thursday
+Feb 18* Thursday+3: Third Thursday
+Feb 18* Thu+3: Third Thursday
+Feb 18* Thursday+3: Third Thursday in February
+Feb 18* Thu+3: Third Thursday in February
+Feb 18* Third: Third Thursday in February
+Feb 18* 18 of every month
+Feb 18 2/18: February 18
+Feb 18 Feb. 18: February 18
+Feb 18 18 February: February 18
+ February: continued
+Feb 18* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160218.out b/regress/usr.bin/calendar/20160218.out
new file mode 100644
index 0000000..c4e07f3
--- /dev/null
+++ b/regress/usr.bin/calendar/20160218.out
@@ -0,0 +1,26 @@
+Feb 18* Thursday-2: Last (-2) Thursday
+Feb 18* Thu-2: Last (-2) Thursday
+Feb 18* Thursday+3: Third Thursday
+Feb 18* Thu+3: Third Thursday
+Feb 18* Thursday+3: Third Thursday in February
+Feb 18* Thu+3: Third Thursday in February
+Feb 18* Third: Third Thursday in February
+Feb 18* 18 of every month
+Feb 18 2/18: February 18
+Feb 18 Feb. 18: February 18
+Feb 18 18 February: February 18
+ February: continued
+Feb 18* Thursday: Every Thursday
+Feb 19* Friday-2: Last (-2) Friday
+Feb 19* Fri-2: Last (-2) Friday
+Feb 19* Friday+3: Third Friday
+Feb 19* Fri+3: Third Friday
+Feb 19* Friday+3: Third Friday in February
+Feb 19* Fri+3: Third Friday in February
+Feb 19* Third: Third Friday in February
+Feb 19* 19 of every month
+Feb 19 2/19: February 19
+Feb 19 Feb. 19: February 19
+Feb 19 19 February: February 19
+ February: continued
+Feb 19* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160219.out b/regress/usr.bin/calendar/20160219.out
new file mode 100644
index 0000000..bd4fbf4
--- /dev/null
+++ b/regress/usr.bin/calendar/20160219.out
@@ -0,0 +1,52 @@
+Feb 19* Friday-2: Last (-2) Friday
+Feb 19* Fri-2: Last (-2) Friday
+Feb 19* Friday+3: Third Friday
+Feb 19* Fri+3: Third Friday
+Feb 19* Friday+3: Third Friday in February
+Feb 19* Fri+3: Third Friday in February
+Feb 19* Third: Third Friday in February
+Feb 19* 19 of every month
+Feb 19 2/19: February 19
+Feb 19 Feb. 19: February 19
+Feb 19 19 February: February 19
+ February: continued
+Feb 19* Friday: Every Friday
+Feb 20* Saturday-2: Last (-2) Saturday
+Feb 20* Sat-2: Last (-2) Saturday
+Feb 20* Saturday+3: Third Saturday
+Feb 20* Sat+3: Third Saturday
+Feb 20* Saturday+3: Third Saturday in February
+Feb 20* Sat+3: Third Saturday in February
+Feb 20* Third: Third Saturday in February
+Feb 20* 20 of every month
+Feb 20 2/20: February 20
+Feb 20 Feb. 20: February 20
+Feb 20 20 February: February 20
+ February: continued
+Feb 20* Saturday: Every Saturday
+Feb 21* Sunday-2: Last (-2) Sunday
+Feb 21* Sun-2: Last (-2) Sunday
+Feb 21* Sunday+3: Third Sunday
+Feb 21* Sun+3: Third Sunday
+Feb 21* Sunday+3: Third Sunday in February
+Feb 21* Sun+3: Third Sunday in February
+Feb 21* Third: Third Sunday in February
+Feb 21* 21 of every month
+Feb 21 2/21: February 21
+Feb 21 Feb. 21: February 21
+Feb 21 21 February: February 21
+ February: continued
+Feb 21* Sunday: Every Sunday
+Feb 22* Monday-2: Last (-2) Monday
+Feb 22* Mon-2: Last (-2) Monday
+Feb 22* Monday+4: Fourth Monday
+Feb 22* Mon+4: Fourth Monday
+Feb 22* Monday+4: Fourth Monday in February
+Feb 22* Mon+4: Fourth Monday in February
+Feb 22* Fourth: Fourth Monday in February
+Feb 22* 22 of every month
+Feb 22 2/22: February 22
+Feb 22 Feb. 22: February 22
+Feb 22 22 February: February 22
+ February: continued
+Feb 22* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160220.out b/regress/usr.bin/calendar/20160220.out
new file mode 100644
index 0000000..78892fb
--- /dev/null
+++ b/regress/usr.bin/calendar/20160220.out
@@ -0,0 +1,26 @@
+Feb 20* Saturday-2: Last (-2) Saturday
+Feb 20* Sat-2: Last (-2) Saturday
+Feb 20* Saturday+3: Third Saturday
+Feb 20* Sat+3: Third Saturday
+Feb 20* Saturday+3: Third Saturday in February
+Feb 20* Sat+3: Third Saturday in February
+Feb 20* Third: Third Saturday in February
+Feb 20* 20 of every month
+Feb 20 2/20: February 20
+Feb 20 Feb. 20: February 20
+Feb 20 20 February: February 20
+ February: continued
+Feb 20* Saturday: Every Saturday
+Feb 21* Sunday-2: Last (-2) Sunday
+Feb 21* Sun-2: Last (-2) Sunday
+Feb 21* Sunday+3: Third Sunday
+Feb 21* Sun+3: Third Sunday
+Feb 21* Sunday+3: Third Sunday in February
+Feb 21* Sun+3: Third Sunday in February
+Feb 21* Third: Third Sunday in February
+Feb 21* 21 of every month
+Feb 21 2/21: February 21
+Feb 21 Feb. 21: February 21
+Feb 21 21 February: February 21
+ February: continued
+Feb 21* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160221.out b/regress/usr.bin/calendar/20160221.out
new file mode 100644
index 0000000..88c042b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160221.out
@@ -0,0 +1,26 @@
+Feb 21* Sunday-2: Last (-2) Sunday
+Feb 21* Sun-2: Last (-2) Sunday
+Feb 21* Sunday+3: Third Sunday
+Feb 21* Sun+3: Third Sunday
+Feb 21* Sunday+3: Third Sunday in February
+Feb 21* Sun+3: Third Sunday in February
+Feb 21* Third: Third Sunday in February
+Feb 21* 21 of every month
+Feb 21 2/21: February 21
+Feb 21 Feb. 21: February 21
+Feb 21 21 February: February 21
+ February: continued
+Feb 21* Sunday: Every Sunday
+Feb 22* Monday-2: Last (-2) Monday
+Feb 22* Mon-2: Last (-2) Monday
+Feb 22* Monday+4: Fourth Monday
+Feb 22* Mon+4: Fourth Monday
+Feb 22* Monday+4: Fourth Monday in February
+Feb 22* Mon+4: Fourth Monday in February
+Feb 22* Fourth: Fourth Monday in February
+Feb 22* 22 of every month
+Feb 22 2/22: February 22
+Feb 22 Feb. 22: February 22
+Feb 22 22 February: February 22
+ February: continued
+Feb 22* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160222.out b/regress/usr.bin/calendar/20160222.out
new file mode 100644
index 0000000..e27d73c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160222.out
@@ -0,0 +1,26 @@
+Feb 22* Monday-2: Last (-2) Monday
+Feb 22* Mon-2: Last (-2) Monday
+Feb 22* Monday+4: Fourth Monday
+Feb 22* Mon+4: Fourth Monday
+Feb 22* Monday+4: Fourth Monday in February
+Feb 22* Mon+4: Fourth Monday in February
+Feb 22* Fourth: Fourth Monday in February
+Feb 22* 22 of every month
+Feb 22 2/22: February 22
+Feb 22 Feb. 22: February 22
+Feb 22 22 February: February 22
+ February: continued
+Feb 22* Monday: Every Monday
+Feb 23* Tuesday-1: Last (-1) Tuesday
+Feb 23* Tue-1: Last (-1) Tuesday
+Feb 23* Tuesday+4: Fourth Tuesday
+Feb 23* Tue+4: Fourth Tuesday
+Feb 23* Tuesday+4: Fourth Tuesday in February
+Feb 23* Tue+4: Fourth Tuesday in February
+Feb 23* Fourth: Fourth Tuesday in February
+Feb 23* 23 of every month
+Feb 23 2/23: February 23
+Feb 23 Feb. 23: February 23
+Feb 23 23 February: February 23
+ February: continued
+Feb 23* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160223.out b/regress/usr.bin/calendar/20160223.out
new file mode 100644
index 0000000..b9e8bff
--- /dev/null
+++ b/regress/usr.bin/calendar/20160223.out
@@ -0,0 +1,26 @@
+Feb 23* Tuesday-1: Last (-1) Tuesday
+Feb 23* Tue-1: Last (-1) Tuesday
+Feb 23* Tuesday+4: Fourth Tuesday
+Feb 23* Tue+4: Fourth Tuesday
+Feb 23* Tuesday+4: Fourth Tuesday in February
+Feb 23* Tue+4: Fourth Tuesday in February
+Feb 23* Fourth: Fourth Tuesday in February
+Feb 23* 23 of every month
+Feb 23 2/23: February 23
+Feb 23 Feb. 23: February 23
+Feb 23 23 February: February 23
+ February: continued
+Feb 23* Tuesday: Every Tuesday
+Feb 24* Wednesday-1: Last (-1) Wednesday
+Feb 24* Wed-1: Last (-1) Wednesday
+Feb 24* Wednesday+4: Fourth Wednesday
+Feb 24* Wed+4: Fourth Wednesday
+Feb 24* Wednesday+4: Fourth Wednesday in February
+Feb 24* Wed+4: Fourth Wednesday in February
+Feb 24* Fourth: Fourth Wednesday in February
+Feb 24* 24 of every month
+Feb 24 2/24: February 24
+Feb 24 Feb. 24: February 24
+Feb 24 24 February: February 24
+ February: continued
+Feb 24* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160224.out b/regress/usr.bin/calendar/20160224.out
new file mode 100644
index 0000000..668b10c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160224.out
@@ -0,0 +1,26 @@
+Feb 24* Wednesday-1: Last (-1) Wednesday
+Feb 24* Wed-1: Last (-1) Wednesday
+Feb 24* Wednesday+4: Fourth Wednesday
+Feb 24* Wed+4: Fourth Wednesday
+Feb 24* Wednesday+4: Fourth Wednesday in February
+Feb 24* Wed+4: Fourth Wednesday in February
+Feb 24* Fourth: Fourth Wednesday in February
+Feb 24* 24 of every month
+Feb 24 2/24: February 24
+Feb 24 Feb. 24: February 24
+Feb 24 24 February: February 24
+ February: continued
+Feb 24* Wednesday: Every Wednesday
+Feb 25* Thursday-1: Last (-1) Thursday
+Feb 25* Thu-1: Last (-1) Thursday
+Feb 25* Thursday+4: Fourth Thursday
+Feb 25* Thu+4: Fourth Thursday
+Feb 25* Thursday+4: Fourth Thursday in February
+Feb 25* Thu+4: Fourth Thursday in February
+Feb 25* Fourth: Fourth Thursday in February
+Feb 25* 25 of every month
+Feb 25 2/25: February 25
+Feb 25 Feb. 25: February 25
+Feb 25 25 February: February 25
+ February: continued
+Feb 25* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160225.out b/regress/usr.bin/calendar/20160225.out
new file mode 100644
index 0000000..1930fd4
--- /dev/null
+++ b/regress/usr.bin/calendar/20160225.out
@@ -0,0 +1,26 @@
+Feb 25* Thursday-1: Last (-1) Thursday
+Feb 25* Thu-1: Last (-1) Thursday
+Feb 25* Thursday+4: Fourth Thursday
+Feb 25* Thu+4: Fourth Thursday
+Feb 25* Thursday+4: Fourth Thursday in February
+Feb 25* Thu+4: Fourth Thursday in February
+Feb 25* Fourth: Fourth Thursday in February
+Feb 25* 25 of every month
+Feb 25 2/25: February 25
+Feb 25 Feb. 25: February 25
+Feb 25 25 February: February 25
+ February: continued
+Feb 25* Thursday: Every Thursday
+Feb 26* Friday-1: Last (-1) Friday
+Feb 26* Fri-1: Last (-1) Friday
+Feb 26* Friday+4: Fourth Friday
+Feb 26* Fri+4: Fourth Friday
+Feb 26* Friday+4: Fourth Friday in February
+Feb 26* Fri+4: Fourth Friday in February
+Feb 26* Fourth: Fourth Friday in February
+Feb 26* 26 of every month
+Feb 26 2/26: February 26
+Feb 26 Feb. 26: February 26
+Feb 26 26 February: February 26
+ February: continued
+Feb 26* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160226.out b/regress/usr.bin/calendar/20160226.out
new file mode 100644
index 0000000..4af833d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160226.out
@@ -0,0 +1,52 @@
+Feb 26* Friday-1: Last (-1) Friday
+Feb 26* Fri-1: Last (-1) Friday
+Feb 26* Friday+4: Fourth Friday
+Feb 26* Fri+4: Fourth Friday
+Feb 26* Friday+4: Fourth Friday in February
+Feb 26* Fri+4: Fourth Friday in February
+Feb 26* Fourth: Fourth Friday in February
+Feb 26* 26 of every month
+Feb 26 2/26: February 26
+Feb 26 Feb. 26: February 26
+Feb 26 26 February: February 26
+ February: continued
+Feb 26* Friday: Every Friday
+Feb 27* Saturday-1: Last (-1) Saturday
+Feb 27* Sat-1: Last (-1) Saturday
+Feb 27* Saturday+4: Fourth Saturday
+Feb 27* Sat+4: Fourth Saturday
+Feb 27* Saturday+4: Fourth Saturday in February
+Feb 27* Sat+4: Fourth Saturday in February
+Feb 27* Fourth: Fourth Saturday in February
+Feb 27* 27 of every month
+Feb 27 2/27: February 27
+Feb 27 Feb. 27: February 27
+Feb 27 27 February: February 27
+ February: continued
+Feb 27* Saturday: Every Saturday
+Feb 28* Sunday-1: Last (-1) Sunday
+Feb 28* Sun-1: Last (-1) Sunday
+Feb 28* Sunday+4: Fourth Sunday
+Feb 28* Sun+4: Fourth Sunday
+Feb 28* Sunday+4: Fourth Sunday in February
+Feb 28* Sun+4: Fourth Sunday in February
+Feb 28* Fourth: Fourth Sunday in February
+Feb 28* 28 of every month
+Feb 28 2/28: February 28
+Feb 28 Feb. 28: February 28
+Feb 28 28 February: February 28
+ February: continued
+Feb 28* Sunday: Every Sunday
+Feb 29* Monday-1: Last (-1) Monday
+Feb 29* Mon-1: Last (-1) Monday
+Feb 29* Monday+5: Fifth Monday
+Feb 29* Mon+5: Fifth Monday
+Feb 29* Monday+5: Fifth Monday in February
+Feb 29* Mon+5: Fifth Monday in February
+Feb 29* Fifth: Fifth Monday in February
+Feb 29* 29 of every month
+Feb 29 2/29: February 29
+Feb 29 Feb. 29: February 29
+Feb 29 29 February: February 29
+ February: continued
+Feb 29* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160227.out b/regress/usr.bin/calendar/20160227.out
new file mode 100644
index 0000000..d81b22f
--- /dev/null
+++ b/regress/usr.bin/calendar/20160227.out
@@ -0,0 +1,26 @@
+Feb 27* Saturday-1: Last (-1) Saturday
+Feb 27* Sat-1: Last (-1) Saturday
+Feb 27* Saturday+4: Fourth Saturday
+Feb 27* Sat+4: Fourth Saturday
+Feb 27* Saturday+4: Fourth Saturday in February
+Feb 27* Sat+4: Fourth Saturday in February
+Feb 27* Fourth: Fourth Saturday in February
+Feb 27* 27 of every month
+Feb 27 2/27: February 27
+Feb 27 Feb. 27: February 27
+Feb 27 27 February: February 27
+ February: continued
+Feb 27* Saturday: Every Saturday
+Feb 28* Sunday-1: Last (-1) Sunday
+Feb 28* Sun-1: Last (-1) Sunday
+Feb 28* Sunday+4: Fourth Sunday
+Feb 28* Sun+4: Fourth Sunday
+Feb 28* Sunday+4: Fourth Sunday in February
+Feb 28* Sun+4: Fourth Sunday in February
+Feb 28* Fourth: Fourth Sunday in February
+Feb 28* 28 of every month
+Feb 28 2/28: February 28
+Feb 28 Feb. 28: February 28
+Feb 28 28 February: February 28
+ February: continued
+Feb 28* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160228.out b/regress/usr.bin/calendar/20160228.out
new file mode 100644
index 0000000..531dd62
--- /dev/null
+++ b/regress/usr.bin/calendar/20160228.out
@@ -0,0 +1,26 @@
+Feb 28* Sunday-1: Last (-1) Sunday
+Feb 28* Sun-1: Last (-1) Sunday
+Feb 28* Sunday+4: Fourth Sunday
+Feb 28* Sun+4: Fourth Sunday
+Feb 28* Sunday+4: Fourth Sunday in February
+Feb 28* Sun+4: Fourth Sunday in February
+Feb 28* Fourth: Fourth Sunday in February
+Feb 28* 28 of every month
+Feb 28 2/28: February 28
+Feb 28 Feb. 28: February 28
+Feb 28 28 February: February 28
+ February: continued
+Feb 28* Sunday: Every Sunday
+Feb 29* Monday-1: Last (-1) Monday
+Feb 29* Mon-1: Last (-1) Monday
+Feb 29* Monday+5: Fifth Monday
+Feb 29* Mon+5: Fifth Monday
+Feb 29* Monday+5: Fifth Monday in February
+Feb 29* Mon+5: Fifth Monday in February
+Feb 29* Fifth: Fifth Monday in February
+Feb 29* 29 of every month
+Feb 29 2/29: February 29
+Feb 29 Feb. 29: February 29
+Feb 29 29 February: February 29
+ February: continued
+Feb 29* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160229.out b/regress/usr.bin/calendar/20160229.out
new file mode 100644
index 0000000..bf3a284
--- /dev/null
+++ b/regress/usr.bin/calendar/20160229.out
@@ -0,0 +1,29 @@
+Feb 29* Monday-1: Last (-1) Monday
+Feb 29* Mon-1: Last (-1) Monday
+Feb 29* Monday+5: Fifth Monday
+Feb 29* Mon+5: Fifth Monday
+Feb 29* Monday+5: Fifth Monday in February
+Feb 29* Mon+5: Fifth Monday in February
+Feb 29* Fifth: Fifth Monday in February
+Feb 29* 29 of every month
+Feb 29 2/29: February 29
+Feb 29 Feb. 29: February 29
+Feb 29 29 February: February 29
+ February: continued
+Feb 29* Monday: Every Monday
+Mar 01* Tuesday+1: First Tuesday
+Mar 01* Tue+1: First Tuesday
+Mar 01* Tuesday+1: First Tuesday in March
+Mar 01* Tue+1: First Tuesday in March
+Mar 01* First: First Tuesday in March
+Mar 01* Tuesday+5: Fifth Tuesday in February
+Mar 01* Tue+5: Fifth Tuesday in February
+Mar 01* Fifth: Fifth Tuesday in February
+Mar 01* 1 of every month
+Mar 01 3/1: March 1
+Mar 01 Mar. 1: March 1
+Mar 01 1 March: March 1
+ March: continued
+Mar 01* *: Beginning of every month
+Mar 01* Tuesday: Every Tuesday
+Mar 01 March: Every March 1st
diff --git a/regress/usr.bin/calendar/20160301.out b/regress/usr.bin/calendar/20160301.out
new file mode 100644
index 0000000..7d2f06a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160301.out
@@ -0,0 +1,30 @@
+Mar 01* Tuesday+1: First Tuesday
+Mar 01* Tue+1: First Tuesday
+Mar 01* Tuesday+1: First Tuesday in March
+Mar 01* Tue+1: First Tuesday in March
+Mar 01* First: First Tuesday in March
+Mar 01* Tuesday+5: Fifth Tuesday in February
+Mar 01* Tue+5: Fifth Tuesday in February
+Mar 01* Fifth: Fifth Tuesday in February
+Mar 01* 1 of every month
+Mar 01 3/1: March 1
+Mar 01 Mar. 1: March 1
+Mar 01 1 March: March 1
+ March: continued
+Mar 01* *: Beginning of every month
+Mar 01* Tuesday: Every Tuesday
+Mar 01 March: Every March 1st
+Mar 02* Wednesday+1: First Wednesday
+Mar 02* Wed+1: First Wednesday
+Mar 02* Wednesday+1: First Wednesday in March
+Mar 02* Wed+1: First Wednesday in March
+Mar 02* First: First Wednesday in March
+Mar 02* Wednesday+5: Fifth Wednesday in February
+Mar 02* Wed+5: Fifth Wednesday in February
+Mar 02* Fifth: Fifth Wednesday in February
+Mar 02* 2 of every month
+Mar 02 3/2: March 2
+Mar 02 Mar. 2: March 2
+Mar 02 2 March: March 2
+ March: continued
+Mar 02* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160302.out b/regress/usr.bin/calendar/20160302.out
new file mode 100644
index 0000000..fecfe65
--- /dev/null
+++ b/regress/usr.bin/calendar/20160302.out
@@ -0,0 +1,28 @@
+Mar 02* Wednesday+1: First Wednesday
+Mar 02* Wed+1: First Wednesday
+Mar 02* Wednesday+1: First Wednesday in March
+Mar 02* Wed+1: First Wednesday in March
+Mar 02* First: First Wednesday in March
+Mar 02* Wednesday+5: Fifth Wednesday in February
+Mar 02* Wed+5: Fifth Wednesday in February
+Mar 02* Fifth: Fifth Wednesday in February
+Mar 02* 2 of every month
+Mar 02 3/2: March 2
+Mar 02 Mar. 2: March 2
+Mar 02 2 March: March 2
+ March: continued
+Mar 02* Wednesday: Every Wednesday
+Mar 03* Thursday+1: First Thursday
+Mar 03* Thu+1: First Thursday
+Mar 03* Thursday+1: First Thursday in March
+Mar 03* Thu+1: First Thursday in March
+Mar 03* First: First Thursday in March
+Mar 03* Thursday+5: Fifth Thursday in February
+Mar 03* Thu+5: Fifth Thursday in February
+Mar 03* Fifth: Fifth Thursday in February
+Mar 03* 3 of every month
+Mar 03 3/3: March 3
+Mar 03 Mar. 3: March 3
+Mar 03 3 March: March 3
+ March: continued
+Mar 03* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160303.out b/regress/usr.bin/calendar/20160303.out
new file mode 100644
index 0000000..b0dac6a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160303.out
@@ -0,0 +1,30 @@
+Mar 03* Thursday+1: First Thursday
+Mar 03* Thu+1: First Thursday
+Mar 03* Thursday+1: First Thursday in March
+Mar 03* Thu+1: First Thursday in March
+Mar 03* First: First Thursday in March
+Mar 03* Thursday+5: Fifth Thursday in February
+Mar 03* Thu+5: Fifth Thursday in February
+Mar 03* Fifth: Fifth Thursday in February
+Mar 03* 3 of every month
+Mar 03 3/3: March 3
+Mar 03 Mar. 3: March 3
+Mar 03 3 March: March 3
+ March: continued
+Mar 03* Thursday: Every Thursday
+Mar 04* Friday+1: First Friday
+Mar 04* Fri+1: First Friday
+Mar 04* Friday+1: First Friday in March
+Mar 04* Fri+1: First Friday in March
+Mar 04* First: First Friday in March
+Mar 04* Friday-4: Last (-4) Friday
+Mar 04* Fri-4: Last (-4) Friday
+Mar 04* Friday+5: Fifth Friday in February
+Mar 04* Fri+5: Fifth Friday in February
+Mar 04* Fifth: Fifth Friday in February
+Mar 04* 4 of every month
+Mar 04 3/4: March 4
+Mar 04 Mar. 4: March 4
+Mar 04 4 March: March 4
+ March: continued
+Mar 04* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160304.out b/regress/usr.bin/calendar/20160304.out
new file mode 100644
index 0000000..26663b1
--- /dev/null
+++ b/regress/usr.bin/calendar/20160304.out
@@ -0,0 +1,61 @@
+Mar 04* Friday+1: First Friday
+Mar 04* Fri+1: First Friday
+Mar 04* Friday+1: First Friday in March
+Mar 04* Fri+1: First Friday in March
+Mar 04* First: First Friday in March
+Mar 04* Friday-4: Last (-4) Friday
+Mar 04* Fri-4: Last (-4) Friday
+Mar 04* Friday+5: Fifth Friday in February
+Mar 04* Fri+5: Fifth Friday in February
+Mar 04* Fifth: Fifth Friday in February
+Mar 04* 4 of every month
+Mar 04 3/4: March 4
+Mar 04 Mar. 4: March 4
+Mar 04 4 March: March 4
+ March: continued
+Mar 04* Friday: Every Friday
+Mar 05* Saturday+1: First Saturday
+Mar 05* Sat+1: First Saturday
+Mar 05* Saturday+1: First Saturday in March
+Mar 05* Sat+1: First Saturday in March
+Mar 05* First: First Saturday in March
+Mar 05* Saturday-4: Last (-4) Saturday
+Mar 05* Sat-4: Last (-4) Saturday
+Mar 05* Saturday+5: Fifth Saturday in February
+Mar 05* Sat+5: Fifth Saturday in February
+Mar 05* Fifth: Fifth Saturday in February
+Mar 05* 5 of every month
+Mar 05 3/5: March 5
+Mar 05 Mar. 5: March 5
+Mar 05 5 March: March 5
+ March: continued
+Mar 05* Saturday: Every Saturday
+Mar 06* Sunday+1: First Sunday
+Mar 06* Sun+1: First Sunday
+Mar 06* Sunday+1: First Sunday in March
+Mar 06* Sun+1: First Sunday in March
+Mar 06* First: First Sunday in March
+Mar 06* Sunday-4: Last (-4) Sunday
+Mar 06* Sun-4: Last (-4) Sunday
+Mar 06* Sunday+5: Fifth Sunday in February
+Mar 06* Sun+5: Fifth Sunday in February
+Mar 06* Fifth: Fifth Sunday in February
+Mar 06* 6 of every month
+Mar 06 3/6: March 6
+Mar 06 Mar. 6: March 6
+Mar 06 6 March: March 6
+ March: continued
+Mar 06* Sunday: Every Sunday
+Mar 07* Monday+1: First Monday
+Mar 07* Mon+1: First Monday
+Mar 07* Monday+1: First Monday in March
+Mar 07* Mon+1: First Monday in March
+Mar 07* First: First Monday in March
+Mar 07* Monday-4: Last (-4) Monday
+Mar 07* Mon-4: Last (-4) Monday
+Mar 07* 7 of every month
+Mar 07 3/7: March 7
+Mar 07 Mar. 7: March 7
+Mar 07 7 March: March 7
+ March: continued
+Mar 07* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160305.out b/regress/usr.bin/calendar/20160305.out
new file mode 100644
index 0000000..ad597c3
--- /dev/null
+++ b/regress/usr.bin/calendar/20160305.out
@@ -0,0 +1,32 @@
+Mar 05* Saturday+1: First Saturday
+Mar 05* Sat+1: First Saturday
+Mar 05* Saturday+1: First Saturday in March
+Mar 05* Sat+1: First Saturday in March
+Mar 05* First: First Saturday in March
+Mar 05* Saturday-4: Last (-4) Saturday
+Mar 05* Sat-4: Last (-4) Saturday
+Mar 05* Saturday+5: Fifth Saturday in February
+Mar 05* Sat+5: Fifth Saturday in February
+Mar 05* Fifth: Fifth Saturday in February
+Mar 05* 5 of every month
+Mar 05 3/5: March 5
+Mar 05 Mar. 5: March 5
+Mar 05 5 March: March 5
+ March: continued
+Mar 05* Saturday: Every Saturday
+Mar 06* Sunday+1: First Sunday
+Mar 06* Sun+1: First Sunday
+Mar 06* Sunday+1: First Sunday in March
+Mar 06* Sun+1: First Sunday in March
+Mar 06* First: First Sunday in March
+Mar 06* Sunday-4: Last (-4) Sunday
+Mar 06* Sun-4: Last (-4) Sunday
+Mar 06* Sunday+5: Fifth Sunday in February
+Mar 06* Sun+5: Fifth Sunday in February
+Mar 06* Fifth: Fifth Sunday in February
+Mar 06* 6 of every month
+Mar 06 3/6: March 6
+Mar 06 Mar. 6: March 6
+Mar 06 6 March: March 6
+ March: continued
+Mar 06* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160306.out b/regress/usr.bin/calendar/20160306.out
new file mode 100644
index 0000000..8eea268
--- /dev/null
+++ b/regress/usr.bin/calendar/20160306.out
@@ -0,0 +1,29 @@
+Mar 06* Sunday+1: First Sunday
+Mar 06* Sun+1: First Sunday
+Mar 06* Sunday+1: First Sunday in March
+Mar 06* Sun+1: First Sunday in March
+Mar 06* First: First Sunday in March
+Mar 06* Sunday-4: Last (-4) Sunday
+Mar 06* Sun-4: Last (-4) Sunday
+Mar 06* Sunday+5: Fifth Sunday in February
+Mar 06* Sun+5: Fifth Sunday in February
+Mar 06* Fifth: Fifth Sunday in February
+Mar 06* 6 of every month
+Mar 06 3/6: March 6
+Mar 06 Mar. 6: March 6
+Mar 06 6 March: March 6
+ March: continued
+Mar 06* Sunday: Every Sunday
+Mar 07* Monday+1: First Monday
+Mar 07* Mon+1: First Monday
+Mar 07* Monday+1: First Monday in March
+Mar 07* Mon+1: First Monday in March
+Mar 07* First: First Monday in March
+Mar 07* Monday-4: Last (-4) Monday
+Mar 07* Mon-4: Last (-4) Monday
+Mar 07* 7 of every month
+Mar 07 3/7: March 7
+Mar 07 Mar. 7: March 7
+Mar 07 7 March: March 7
+ March: continued
+Mar 07* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160307.out b/regress/usr.bin/calendar/20160307.out
new file mode 100644
index 0000000..73e138d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160307.out
@@ -0,0 +1,26 @@
+Mar 07* Monday+1: First Monday
+Mar 07* Mon+1: First Monday
+Mar 07* Monday+1: First Monday in March
+Mar 07* Mon+1: First Monday in March
+Mar 07* First: First Monday in March
+Mar 07* Monday-4: Last (-4) Monday
+Mar 07* Mon-4: Last (-4) Monday
+Mar 07* 7 of every month
+Mar 07 3/7: March 7
+Mar 07 Mar. 7: March 7
+Mar 07 7 March: March 7
+ March: continued
+Mar 07* Monday: Every Monday
+Mar 08* Tuesday+2: Second Tuesday
+Mar 08* Tue+2: Second Tuesday
+Mar 08* Tuesday+2: Second Tuesday in March
+Mar 08* Tue+2: Second Tuesday in March
+Mar 08* Second: Second Tuesday in March
+Mar 08* Tuesday-4: Last (-4) Tuesday
+Mar 08* Tue-4: Last (-4) Tuesday
+Mar 08* 8 of every month
+Mar 08 3/8: March 8
+Mar 08 Mar. 8: March 8
+Mar 08 8 March: March 8
+ March: continued
+Mar 08* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160308.out b/regress/usr.bin/calendar/20160308.out
new file mode 100644
index 0000000..69c4243
--- /dev/null
+++ b/regress/usr.bin/calendar/20160308.out
@@ -0,0 +1,26 @@
+Mar 08* Tuesday+2: Second Tuesday
+Mar 08* Tue+2: Second Tuesday
+Mar 08* Tuesday+2: Second Tuesday in March
+Mar 08* Tue+2: Second Tuesday in March
+Mar 08* Second: Second Tuesday in March
+Mar 08* Tuesday-4: Last (-4) Tuesday
+Mar 08* Tue-4: Last (-4) Tuesday
+Mar 08* 8 of every month
+Mar 08 3/8: March 8
+Mar 08 Mar. 8: March 8
+Mar 08 8 March: March 8
+ March: continued
+Mar 08* Tuesday: Every Tuesday
+Mar 09* Wednesday+2: Second Wednesday
+Mar 09* Wed+2: Second Wednesday
+Mar 09* Wednesday+2: Second Wednesday in March
+Mar 09* Wed+2: Second Wednesday in March
+Mar 09* Second: Second Wednesday in March
+Mar 09* Wednesday-4: Last (-4) Wednesday
+Mar 09* Wed-4: Last (-4) Wednesday
+Mar 09* 9 of every month
+Mar 09 3/9: March 9
+Mar 09 Mar. 9: March 9
+Mar 09 9 March: March 9
+ March: continued
+Mar 09* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160309.out b/regress/usr.bin/calendar/20160309.out
new file mode 100644
index 0000000..c731c91
--- /dev/null
+++ b/regress/usr.bin/calendar/20160309.out
@@ -0,0 +1,26 @@
+Mar 09* Wednesday+2: Second Wednesday
+Mar 09* Wed+2: Second Wednesday
+Mar 09* Wednesday+2: Second Wednesday in March
+Mar 09* Wed+2: Second Wednesday in March
+Mar 09* Second: Second Wednesday in March
+Mar 09* Wednesday-4: Last (-4) Wednesday
+Mar 09* Wed-4: Last (-4) Wednesday
+Mar 09* 9 of every month
+Mar 09 3/9: March 9
+Mar 09 Mar. 9: March 9
+Mar 09 9 March: March 9
+ March: continued
+Mar 09* Wednesday: Every Wednesday
+Mar 10* Thursday+2: Second Thursday
+Mar 10* Thu+2: Second Thursday
+Mar 10* Thursday+2: Second Thursday in March
+Mar 10* Thu+2: Second Thursday in March
+Mar 10* Second: Second Thursday in March
+Mar 10* Thursday-4: Last (-4) Thursday
+Mar 10* Thu-4: Last (-4) Thursday
+Mar 10* 10 of every month
+Mar 10 3/10: March 10
+Mar 10 Mar. 10: March 10
+Mar 10 10 March: March 10
+ March: continued
+Mar 10* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160310.out b/regress/usr.bin/calendar/20160310.out
new file mode 100644
index 0000000..7800bf1
--- /dev/null
+++ b/regress/usr.bin/calendar/20160310.out
@@ -0,0 +1,26 @@
+Mar 10* Thursday+2: Second Thursday
+Mar 10* Thu+2: Second Thursday
+Mar 10* Thursday+2: Second Thursday in March
+Mar 10* Thu+2: Second Thursday in March
+Mar 10* Second: Second Thursday in March
+Mar 10* Thursday-4: Last (-4) Thursday
+Mar 10* Thu-4: Last (-4) Thursday
+Mar 10* 10 of every month
+Mar 10 3/10: March 10
+Mar 10 Mar. 10: March 10
+Mar 10 10 March: March 10
+ March: continued
+Mar 10* Thursday: Every Thursday
+Mar 11* Friday+2: Second Friday
+Mar 11* Fri+2: Second Friday
+Mar 11* Friday+2: Second Friday in March
+Mar 11* Fri+2: Second Friday in March
+Mar 11* Second: Second Friday in March
+Mar 11* Friday-3: Last (-3) Friday
+Mar 11* Fri-3: Last (-3) Friday
+Mar 11* 11 of every month
+Mar 11 3/11: March 11
+Mar 11 Mar. 11: March 11
+Mar 11 11 March: March 11
+ March: continued
+Mar 11* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160311.out b/regress/usr.bin/calendar/20160311.out
new file mode 100644
index 0000000..0599a40
--- /dev/null
+++ b/regress/usr.bin/calendar/20160311.out
@@ -0,0 +1,52 @@
+Mar 11* Friday+2: Second Friday
+Mar 11* Fri+2: Second Friday
+Mar 11* Friday+2: Second Friday in March
+Mar 11* Fri+2: Second Friday in March
+Mar 11* Second: Second Friday in March
+Mar 11* Friday-3: Last (-3) Friday
+Mar 11* Fri-3: Last (-3) Friday
+Mar 11* 11 of every month
+Mar 11 3/11: March 11
+Mar 11 Mar. 11: March 11
+Mar 11 11 March: March 11
+ March: continued
+Mar 11* Friday: Every Friday
+Mar 12* Saturday+2: Second Saturday
+Mar 12* Sat+2: Second Saturday
+Mar 12* Saturday+2: Second Saturday in March
+Mar 12* Sat+2: Second Saturday in March
+Mar 12* Second: Second Saturday in March
+Mar 12* Saturday-3: Last (-3) Saturday
+Mar 12* Sat-3: Last (-3) Saturday
+Mar 12* 12 of every month
+Mar 12 3/12: March 12
+Mar 12 Mar. 12: March 12
+Mar 12 12 March: March 12
+ March: continued
+Mar 12* Saturday: Every Saturday
+Mar 13* Sunday+2: Second Sunday
+Mar 13* Sun+2: Second Sunday
+Mar 13* Sunday+2: Second Sunday in March
+Mar 13* Sun+2: Second Sunday in March
+Mar 13* Second: Second Sunday in March
+Mar 13* Sunday-3: Last (-3) Sunday
+Mar 13* Sun-3: Last (-3) Sunday
+Mar 13* 13 of every month
+Mar 13 3/13: March 13
+Mar 13 Mar. 13: March 13
+Mar 13 13 March: March 13
+ March: continued
+Mar 13* Sunday: Every Sunday
+Mar 14* Monday+2: Second Monday
+Mar 14* Mon+2: Second Monday
+Mar 14* Monday+2: Second Monday in March
+Mar 14* Mon+2: Second Monday in March
+Mar 14* Second: Second Monday in March
+Mar 14* Monday-3: Last (-3) Monday
+Mar 14* Mon-3: Last (-3) Monday
+Mar 14* 14 of every month
+Mar 14 3/14: March 14
+Mar 14 Mar. 14: March 14
+Mar 14 14 March: March 14
+ March: continued
+Mar 14* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160312.out b/regress/usr.bin/calendar/20160312.out
new file mode 100644
index 0000000..8081fff
--- /dev/null
+++ b/regress/usr.bin/calendar/20160312.out
@@ -0,0 +1,26 @@
+Mar 12* Saturday+2: Second Saturday
+Mar 12* Sat+2: Second Saturday
+Mar 12* Saturday+2: Second Saturday in March
+Mar 12* Sat+2: Second Saturday in March
+Mar 12* Second: Second Saturday in March
+Mar 12* Saturday-3: Last (-3) Saturday
+Mar 12* Sat-3: Last (-3) Saturday
+Mar 12* 12 of every month
+Mar 12 3/12: March 12
+Mar 12 Mar. 12: March 12
+Mar 12 12 March: March 12
+ March: continued
+Mar 12* Saturday: Every Saturday
+Mar 13* Sunday+2: Second Sunday
+Mar 13* Sun+2: Second Sunday
+Mar 13* Sunday+2: Second Sunday in March
+Mar 13* Sun+2: Second Sunday in March
+Mar 13* Second: Second Sunday in March
+Mar 13* Sunday-3: Last (-3) Sunday
+Mar 13* Sun-3: Last (-3) Sunday
+Mar 13* 13 of every month
+Mar 13 3/13: March 13
+Mar 13 Mar. 13: March 13
+Mar 13 13 March: March 13
+ March: continued
+Mar 13* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160313.out b/regress/usr.bin/calendar/20160313.out
new file mode 100644
index 0000000..503005e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160313.out
@@ -0,0 +1,26 @@
+Mar 13* Sunday+2: Second Sunday
+Mar 13* Sun+2: Second Sunday
+Mar 13* Sunday+2: Second Sunday in March
+Mar 13* Sun+2: Second Sunday in March
+Mar 13* Second: Second Sunday in March
+Mar 13* Sunday-3: Last (-3) Sunday
+Mar 13* Sun-3: Last (-3) Sunday
+Mar 13* 13 of every month
+Mar 13 3/13: March 13
+Mar 13 Mar. 13: March 13
+Mar 13 13 March: March 13
+ March: continued
+Mar 13* Sunday: Every Sunday
+Mar 14* Monday+2: Second Monday
+Mar 14* Mon+2: Second Monday
+Mar 14* Monday+2: Second Monday in March
+Mar 14* Mon+2: Second Monday in March
+Mar 14* Second: Second Monday in March
+Mar 14* Monday-3: Last (-3) Monday
+Mar 14* Mon-3: Last (-3) Monday
+Mar 14* 14 of every month
+Mar 14 3/14: March 14
+Mar 14 Mar. 14: March 14
+Mar 14 14 March: March 14
+ March: continued
+Mar 14* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160314.out b/regress/usr.bin/calendar/20160314.out
new file mode 100644
index 0000000..2ec9860
--- /dev/null
+++ b/regress/usr.bin/calendar/20160314.out
@@ -0,0 +1,26 @@
+Mar 14* Monday+2: Second Monday
+Mar 14* Mon+2: Second Monday
+Mar 14* Monday+2: Second Monday in March
+Mar 14* Mon+2: Second Monday in March
+Mar 14* Second: Second Monday in March
+Mar 14* Monday-3: Last (-3) Monday
+Mar 14* Mon-3: Last (-3) Monday
+Mar 14* 14 of every month
+Mar 14 3/14: March 14
+Mar 14 Mar. 14: March 14
+Mar 14 14 March: March 14
+ March: continued
+Mar 14* Monday: Every Monday
+Mar 15* Tuesday+3: Third Tuesday
+Mar 15* Tue+3: Third Tuesday
+Mar 15* Tuesday-3: Last (-3) Tuesday
+Mar 15* Tue-3: Last (-3) Tuesday
+Mar 15* Tuesday+3: Third Tuesday in March
+Mar 15* Tue+3: Third Tuesday in March
+Mar 15* Third: Third Tuesday in March
+Mar 15* 15 of every month
+Mar 15 3/15: March 15
+Mar 15 Mar. 15: March 15
+Mar 15 15 March: March 15
+ March: continued
+Mar 15* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160315.out b/regress/usr.bin/calendar/20160315.out
new file mode 100644
index 0000000..36a0207
--- /dev/null
+++ b/regress/usr.bin/calendar/20160315.out
@@ -0,0 +1,26 @@
+Mar 15* Tuesday+3: Third Tuesday
+Mar 15* Tue+3: Third Tuesday
+Mar 15* Tuesday-3: Last (-3) Tuesday
+Mar 15* Tue-3: Last (-3) Tuesday
+Mar 15* Tuesday+3: Third Tuesday in March
+Mar 15* Tue+3: Third Tuesday in March
+Mar 15* Third: Third Tuesday in March
+Mar 15* 15 of every month
+Mar 15 3/15: March 15
+Mar 15 Mar. 15: March 15
+Mar 15 15 March: March 15
+ March: continued
+Mar 15* Tuesday: Every Tuesday
+Mar 16* Wednesday+3: Third Wednesday
+Mar 16* Wed+3: Third Wednesday
+Mar 16* Wednesday-3: Last (-3) Wednesday
+Mar 16* Wed-3: Last (-3) Wednesday
+Mar 16* Wednesday+3: Third Wednesday in March
+Mar 16* Wed+3: Third Wednesday in March
+Mar 16* Third: Third Wednesday in March
+Mar 16* 16 of every month
+Mar 16 3/16: March 16
+Mar 16 Mar. 16: March 16
+Mar 16 16 March: March 16
+ March: continued
+Mar 16* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160316.out b/regress/usr.bin/calendar/20160316.out
new file mode 100644
index 0000000..46882c9
--- /dev/null
+++ b/regress/usr.bin/calendar/20160316.out
@@ -0,0 +1,26 @@
+Mar 16* Wednesday+3: Third Wednesday
+Mar 16* Wed+3: Third Wednesday
+Mar 16* Wednesday-3: Last (-3) Wednesday
+Mar 16* Wed-3: Last (-3) Wednesday
+Mar 16* Wednesday+3: Third Wednesday in March
+Mar 16* Wed+3: Third Wednesday in March
+Mar 16* Third: Third Wednesday in March
+Mar 16* 16 of every month
+Mar 16 3/16: March 16
+Mar 16 Mar. 16: March 16
+Mar 16 16 March: March 16
+ March: continued
+Mar 16* Wednesday: Every Wednesday
+Mar 17* Thursday+3: Third Thursday
+Mar 17* Thu+3: Third Thursday
+Mar 17* Thursday-3: Last (-3) Thursday
+Mar 17* Thu-3: Last (-3) Thursday
+Mar 17* Thursday+3: Third Thursday in March
+Mar 17* Thu+3: Third Thursday in March
+Mar 17* Third: Third Thursday in March
+Mar 17* 17 of every month
+Mar 17 3/17: March 17
+Mar 17 Mar. 17: March 17
+Mar 17 17 March: March 17
+ March: continued
+Mar 17* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160317.out b/regress/usr.bin/calendar/20160317.out
new file mode 100644
index 0000000..6319228
--- /dev/null
+++ b/regress/usr.bin/calendar/20160317.out
@@ -0,0 +1,26 @@
+Mar 17* Thursday+3: Third Thursday
+Mar 17* Thu+3: Third Thursday
+Mar 17* Thursday-3: Last (-3) Thursday
+Mar 17* Thu-3: Last (-3) Thursday
+Mar 17* Thursday+3: Third Thursday in March
+Mar 17* Thu+3: Third Thursday in March
+Mar 17* Third: Third Thursday in March
+Mar 17* 17 of every month
+Mar 17 3/17: March 17
+Mar 17 Mar. 17: March 17
+Mar 17 17 March: March 17
+ March: continued
+Mar 17* Thursday: Every Thursday
+Mar 18* Friday-2: Last (-2) Friday
+Mar 18* Fri-2: Last (-2) Friday
+Mar 18* Friday+3: Third Friday
+Mar 18* Fri+3: Third Friday
+Mar 18* Friday+3: Third Friday in March
+Mar 18* Fri+3: Third Friday in March
+Mar 18* Third: Third Friday in March
+Mar 18* 18 of every month
+Mar 18 3/18: March 18
+Mar 18 Mar. 18: March 18
+Mar 18 18 March: March 18
+ March: continued
+Mar 18* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160318.out b/regress/usr.bin/calendar/20160318.out
new file mode 100644
index 0000000..91be007
--- /dev/null
+++ b/regress/usr.bin/calendar/20160318.out
@@ -0,0 +1,52 @@
+Mar 18* Friday-2: Last (-2) Friday
+Mar 18* Fri-2: Last (-2) Friday
+Mar 18* Friday+3: Third Friday
+Mar 18* Fri+3: Third Friday
+Mar 18* Friday+3: Third Friday in March
+Mar 18* Fri+3: Third Friday in March
+Mar 18* Third: Third Friday in March
+Mar 18* 18 of every month
+Mar 18 3/18: March 18
+Mar 18 Mar. 18: March 18
+Mar 18 18 March: March 18
+ March: continued
+Mar 18* Friday: Every Friday
+Mar 19* Saturday-2: Last (-2) Saturday
+Mar 19* Sat-2: Last (-2) Saturday
+Mar 19* Saturday+3: Third Saturday
+Mar 19* Sat+3: Third Saturday
+Mar 19* Saturday+3: Third Saturday in March
+Mar 19* Sat+3: Third Saturday in March
+Mar 19* Third: Third Saturday in March
+Mar 19* 19 of every month
+Mar 19 3/19: March 19
+Mar 19 Mar. 19: March 19
+Mar 19 19 March: March 19
+ March: continued
+Mar 19* Saturday: Every Saturday
+Mar 20* Sunday-2: Last (-2) Sunday
+Mar 20* Sun-2: Last (-2) Sunday
+Mar 20* Sunday+3: Third Sunday
+Mar 20* Sun+3: Third Sunday
+Mar 20* Sunday+3: Third Sunday in March
+Mar 20* Sun+3: Third Sunday in March
+Mar 20* Third: Third Sunday in March
+Mar 20* 20 of every month
+Mar 20 3/20: March 20
+Mar 20 Mar. 20: March 20
+Mar 20 20 March: March 20
+ March: continued
+Mar 20* Sunday: Every Sunday
+Mar 21* Monday-2: Last (-2) Monday
+Mar 21* Mon-2: Last (-2) Monday
+Mar 21* Monday+3: Third Monday
+Mar 21* Mon+3: Third Monday
+Mar 21* Monday+3: Third Monday in March
+Mar 21* Mon+3: Third Monday in March
+Mar 21* Third: Third Monday in March
+Mar 21* 21 of every month
+Mar 21 3/21: March 21
+Mar 21 Mar. 21: March 21
+Mar 21 21 March: March 21
+ March: continued
+Mar 21* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160319.out b/regress/usr.bin/calendar/20160319.out
new file mode 100644
index 0000000..0bbda70
--- /dev/null
+++ b/regress/usr.bin/calendar/20160319.out
@@ -0,0 +1,26 @@
+Mar 19* Saturday-2: Last (-2) Saturday
+Mar 19* Sat-2: Last (-2) Saturday
+Mar 19* Saturday+3: Third Saturday
+Mar 19* Sat+3: Third Saturday
+Mar 19* Saturday+3: Third Saturday in March
+Mar 19* Sat+3: Third Saturday in March
+Mar 19* Third: Third Saturday in March
+Mar 19* 19 of every month
+Mar 19 3/19: March 19
+Mar 19 Mar. 19: March 19
+Mar 19 19 March: March 19
+ March: continued
+Mar 19* Saturday: Every Saturday
+Mar 20* Sunday-2: Last (-2) Sunday
+Mar 20* Sun-2: Last (-2) Sunday
+Mar 20* Sunday+3: Third Sunday
+Mar 20* Sun+3: Third Sunday
+Mar 20* Sunday+3: Third Sunday in March
+Mar 20* Sun+3: Third Sunday in March
+Mar 20* Third: Third Sunday in March
+Mar 20* 20 of every month
+Mar 20 3/20: March 20
+Mar 20 Mar. 20: March 20
+Mar 20 20 March: March 20
+ March: continued
+Mar 20* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160320.out b/regress/usr.bin/calendar/20160320.out
new file mode 100644
index 0000000..4fd0cc0
--- /dev/null
+++ b/regress/usr.bin/calendar/20160320.out
@@ -0,0 +1,26 @@
+Mar 20* Sunday-2: Last (-2) Sunday
+Mar 20* Sun-2: Last (-2) Sunday
+Mar 20* Sunday+3: Third Sunday
+Mar 20* Sun+3: Third Sunday
+Mar 20* Sunday+3: Third Sunday in March
+Mar 20* Sun+3: Third Sunday in March
+Mar 20* Third: Third Sunday in March
+Mar 20* 20 of every month
+Mar 20 3/20: March 20
+Mar 20 Mar. 20: March 20
+Mar 20 20 March: March 20
+ March: continued
+Mar 20* Sunday: Every Sunday
+Mar 21* Monday-2: Last (-2) Monday
+Mar 21* Mon-2: Last (-2) Monday
+Mar 21* Monday+3: Third Monday
+Mar 21* Mon+3: Third Monday
+Mar 21* Monday+3: Third Monday in March
+Mar 21* Mon+3: Third Monday in March
+Mar 21* Third: Third Monday in March
+Mar 21* 21 of every month
+Mar 21 3/21: March 21
+Mar 21 Mar. 21: March 21
+Mar 21 21 March: March 21
+ March: continued
+Mar 21* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160321.out b/regress/usr.bin/calendar/20160321.out
new file mode 100644
index 0000000..729bb3d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160321.out
@@ -0,0 +1,26 @@
+Mar 21* Monday-2: Last (-2) Monday
+Mar 21* Mon-2: Last (-2) Monday
+Mar 21* Monday+3: Third Monday
+Mar 21* Mon+3: Third Monday
+Mar 21* Monday+3: Third Monday in March
+Mar 21* Mon+3: Third Monday in March
+Mar 21* Third: Third Monday in March
+Mar 21* 21 of every month
+Mar 21 3/21: March 21
+Mar 21 Mar. 21: March 21
+Mar 21 21 March: March 21
+ March: continued
+Mar 21* Monday: Every Monday
+Mar 22* Tuesday-2: Last (-2) Tuesday
+Mar 22* Tue-2: Last (-2) Tuesday
+Mar 22* Tuesday+4: Fourth Tuesday
+Mar 22* Tue+4: Fourth Tuesday
+Mar 22* Tuesday+4: Fourth Tuesday in March
+Mar 22* Tue+4: Fourth Tuesday in March
+Mar 22* Fourth: Fourth Tuesday in March
+Mar 22* 22 of every month
+Mar 22 3/22: March 22
+Mar 22 Mar. 22: March 22
+Mar 22 22 March: March 22
+ March: continued
+Mar 22* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160322.out b/regress/usr.bin/calendar/20160322.out
new file mode 100644
index 0000000..e3d7c37
--- /dev/null
+++ b/regress/usr.bin/calendar/20160322.out
@@ -0,0 +1,26 @@
+Mar 22* Tuesday-2: Last (-2) Tuesday
+Mar 22* Tue-2: Last (-2) Tuesday
+Mar 22* Tuesday+4: Fourth Tuesday
+Mar 22* Tue+4: Fourth Tuesday
+Mar 22* Tuesday+4: Fourth Tuesday in March
+Mar 22* Tue+4: Fourth Tuesday in March
+Mar 22* Fourth: Fourth Tuesday in March
+Mar 22* 22 of every month
+Mar 22 3/22: March 22
+Mar 22 Mar. 22: March 22
+Mar 22 22 March: March 22
+ March: continued
+Mar 22* Tuesday: Every Tuesday
+Mar 23* Wednesday-2: Last (-2) Wednesday
+Mar 23* Wed-2: Last (-2) Wednesday
+Mar 23* Wednesday+4: Fourth Wednesday
+Mar 23* Wed+4: Fourth Wednesday
+Mar 23* Wednesday+4: Fourth Wednesday in March
+Mar 23* Wed+4: Fourth Wednesday in March
+Mar 23* Fourth: Fourth Wednesday in March
+Mar 23* 23 of every month
+Mar 23 3/23: March 23
+Mar 23 Mar. 23: March 23
+Mar 23 23 March: March 23
+ March: continued
+Mar 23* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160323.out b/regress/usr.bin/calendar/20160323.out
new file mode 100644
index 0000000..074e9bb
--- /dev/null
+++ b/regress/usr.bin/calendar/20160323.out
@@ -0,0 +1,26 @@
+Mar 23* Wednesday-2: Last (-2) Wednesday
+Mar 23* Wed-2: Last (-2) Wednesday
+Mar 23* Wednesday+4: Fourth Wednesday
+Mar 23* Wed+4: Fourth Wednesday
+Mar 23* Wednesday+4: Fourth Wednesday in March
+Mar 23* Wed+4: Fourth Wednesday in March
+Mar 23* Fourth: Fourth Wednesday in March
+Mar 23* 23 of every month
+Mar 23 3/23: March 23
+Mar 23 Mar. 23: March 23
+Mar 23 23 March: March 23
+ March: continued
+Mar 23* Wednesday: Every Wednesday
+Mar 24* Thursday-2: Last (-2) Thursday
+Mar 24* Thu-2: Last (-2) Thursday
+Mar 24* Thursday+4: Fourth Thursday
+Mar 24* Thu+4: Fourth Thursday
+Mar 24* Thursday+4: Fourth Thursday in March
+Mar 24* Thu+4: Fourth Thursday in March
+Mar 24* Fourth: Fourth Thursday in March
+Mar 24* 24 of every month
+Mar 24 3/24: March 24
+Mar 24 Mar. 24: March 24
+Mar 24 24 March: March 24
+ March: continued
+Mar 24* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160324.out b/regress/usr.bin/calendar/20160324.out
new file mode 100644
index 0000000..75273d0
--- /dev/null
+++ b/regress/usr.bin/calendar/20160324.out
@@ -0,0 +1,27 @@
+Mar 24* Thursday-2: Last (-2) Thursday
+Mar 24* Thu-2: Last (-2) Thursday
+Mar 24* Thursday+4: Fourth Thursday
+Mar 24* Thu+4: Fourth Thursday
+Mar 24* Thursday+4: Fourth Thursday in March
+Mar 24* Thu+4: Fourth Thursday in March
+Mar 24* Fourth: Fourth Thursday in March
+Mar 24* 24 of every month
+Mar 24 3/24: March 24
+Mar 24 Mar. 24: March 24
+Mar 24 24 March: March 24
+ March: continued
+Mar 24* Thursday: Every Thursday
+Mar 25* Friday-1: Last (-1) Friday
+Mar 25* Fri-1: Last (-1) Friday
+Mar 25* Friday+4: Fourth Friday
+Mar 25* Fri+4: Fourth Friday
+Mar 25* Friday+4: Fourth Friday in March
+Mar 25* Fri+4: Fourth Friday in March
+Mar 25* Fourth: Fourth Friday in March
+Mar 25* Good Friday
+Mar 25* 25 of every month
+Mar 25 3/25: March 25
+Mar 25 Mar. 25: March 25
+Mar 25 25 March: March 25
+ March: continued
+Mar 25* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160325.out b/regress/usr.bin/calendar/20160325.out
new file mode 100644
index 0000000..e1701b6
--- /dev/null
+++ b/regress/usr.bin/calendar/20160325.out
@@ -0,0 +1,54 @@
+Mar 25* Friday-1: Last (-1) Friday
+Mar 25* Fri-1: Last (-1) Friday
+Mar 25* Friday+4: Fourth Friday
+Mar 25* Fri+4: Fourth Friday
+Mar 25* Friday+4: Fourth Friday in March
+Mar 25* Fri+4: Fourth Friday in March
+Mar 25* Fourth: Fourth Friday in March
+Mar 25* Good Friday
+Mar 25* 25 of every month
+Mar 25 3/25: March 25
+Mar 25 Mar. 25: March 25
+Mar 25 25 March: March 25
+ March: continued
+Mar 25* Friday: Every Friday
+Mar 26* Saturday-1: Last (-1) Saturday
+Mar 26* Sat-1: Last (-1) Saturday
+Mar 26* Saturday+4: Fourth Saturday
+Mar 26* Sat+4: Fourth Saturday
+Mar 26* Saturday+4: Fourth Saturday in March
+Mar 26* Sat+4: Fourth Saturday in March
+Mar 26* Fourth: Fourth Saturday in March
+Mar 26* 26 of every month
+Mar 26 3/26: March 26
+Mar 26 Mar. 26: March 26
+Mar 26 26 March: March 26
+ March: continued
+Mar 26* Saturday: Every Saturday
+Mar 27* Sunday-1: Last (-1) Sunday
+Mar 27* Sun-1: Last (-1) Sunday
+Mar 27* Sunday+4: Fourth Sunday
+Mar 27* Sun+4: Fourth Sunday
+Mar 27* Sunday+4: Fourth Sunday in March
+Mar 27* Sun+4: Fourth Sunday in March
+Mar 27* Fourth: Fourth Sunday in March
+Mar 27* Easter
+Mar 27* 27 of every month
+Mar 27 3/27: March 27
+Mar 27 Mar. 27: March 27
+Mar 27 27 March: March 27
+ March: continued
+Mar 27* Sunday: Every Sunday
+Mar 28* Monday-1: Last (-1) Monday
+Mar 28* Mon-1: Last (-1) Monday
+Mar 28* Monday+4: Fourth Monday
+Mar 28* Mon+4: Fourth Monday
+Mar 28* Monday+4: Fourth Monday in March
+Mar 28* Mon+4: Fourth Monday in March
+Mar 28* Fourth: Fourth Monday in March
+Mar 28* 28 of every month
+Mar 28 3/28: March 28
+Mar 28 Mar. 28: March 28
+Mar 28 28 March: March 28
+ March: continued
+Mar 28* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160326.out b/regress/usr.bin/calendar/20160326.out
new file mode 100644
index 0000000..a1f934c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160326.out
@@ -0,0 +1,27 @@
+Mar 26* Saturday-1: Last (-1) Saturday
+Mar 26* Sat-1: Last (-1) Saturday
+Mar 26* Saturday+4: Fourth Saturday
+Mar 26* Sat+4: Fourth Saturday
+Mar 26* Saturday+4: Fourth Saturday in March
+Mar 26* Sat+4: Fourth Saturday in March
+Mar 26* Fourth: Fourth Saturday in March
+Mar 26* 26 of every month
+Mar 26 3/26: March 26
+Mar 26 Mar. 26: March 26
+Mar 26 26 March: March 26
+ March: continued
+Mar 26* Saturday: Every Saturday
+Mar 27* Sunday-1: Last (-1) Sunday
+Mar 27* Sun-1: Last (-1) Sunday
+Mar 27* Sunday+4: Fourth Sunday
+Mar 27* Sun+4: Fourth Sunday
+Mar 27* Sunday+4: Fourth Sunday in March
+Mar 27* Sun+4: Fourth Sunday in March
+Mar 27* Fourth: Fourth Sunday in March
+Mar 27* Easter
+Mar 27* 27 of every month
+Mar 27 3/27: March 27
+Mar 27 Mar. 27: March 27
+Mar 27 27 March: March 27
+ March: continued
+Mar 27* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160327.out b/regress/usr.bin/calendar/20160327.out
new file mode 100644
index 0000000..fd88d39
--- /dev/null
+++ b/regress/usr.bin/calendar/20160327.out
@@ -0,0 +1,27 @@
+Mar 27* Sunday-1: Last (-1) Sunday
+Mar 27* Sun-1: Last (-1) Sunday
+Mar 27* Sunday+4: Fourth Sunday
+Mar 27* Sun+4: Fourth Sunday
+Mar 27* Sunday+4: Fourth Sunday in March
+Mar 27* Sun+4: Fourth Sunday in March
+Mar 27* Fourth: Fourth Sunday in March
+Mar 27* Easter
+Mar 27* 27 of every month
+Mar 27 3/27: March 27
+Mar 27 Mar. 27: March 27
+Mar 27 27 March: March 27
+ March: continued
+Mar 27* Sunday: Every Sunday
+Mar 28* Monday-1: Last (-1) Monday
+Mar 28* Mon-1: Last (-1) Monday
+Mar 28* Monday+4: Fourth Monday
+Mar 28* Mon+4: Fourth Monday
+Mar 28* Monday+4: Fourth Monday in March
+Mar 28* Mon+4: Fourth Monday in March
+Mar 28* Fourth: Fourth Monday in March
+Mar 28* 28 of every month
+Mar 28 3/28: March 28
+Mar 28 Mar. 28: March 28
+Mar 28 28 March: March 28
+ March: continued
+Mar 28* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160328.out b/regress/usr.bin/calendar/20160328.out
new file mode 100644
index 0000000..8cf5388
--- /dev/null
+++ b/regress/usr.bin/calendar/20160328.out
@@ -0,0 +1,26 @@
+Mar 28* Monday-1: Last (-1) Monday
+Mar 28* Mon-1: Last (-1) Monday
+Mar 28* Monday+4: Fourth Monday
+Mar 28* Mon+4: Fourth Monday
+Mar 28* Monday+4: Fourth Monday in March
+Mar 28* Mon+4: Fourth Monday in March
+Mar 28* Fourth: Fourth Monday in March
+Mar 28* 28 of every month
+Mar 28 3/28: March 28
+Mar 28 Mar. 28: March 28
+Mar 28 28 March: March 28
+ March: continued
+Mar 28* Monday: Every Monday
+Mar 29* Tuesday-1: Last (-1) Tuesday
+Mar 29* Tue-1: Last (-1) Tuesday
+Mar 29* Tuesday+5: Fifth Tuesday
+Mar 29* Tue+5: Fifth Tuesday
+Mar 29* Tuesday+5: Fifth Tuesday in March
+Mar 29* Tue+5: Fifth Tuesday in March
+Mar 29* Fifth: Fifth Tuesday in March
+Mar 29* 29 of every month
+Mar 29 3/29: March 29
+Mar 29 Mar. 29: March 29
+Mar 29 29 March: March 29
+ March: continued
+Mar 29* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160329.out b/regress/usr.bin/calendar/20160329.out
new file mode 100644
index 0000000..d13d97e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160329.out
@@ -0,0 +1,26 @@
+Mar 29* Tuesday-1: Last (-1) Tuesday
+Mar 29* Tue-1: Last (-1) Tuesday
+Mar 29* Tuesday+5: Fifth Tuesday
+Mar 29* Tue+5: Fifth Tuesday
+Mar 29* Tuesday+5: Fifth Tuesday in March
+Mar 29* Tue+5: Fifth Tuesday in March
+Mar 29* Fifth: Fifth Tuesday in March
+Mar 29* 29 of every month
+Mar 29 3/29: March 29
+Mar 29 Mar. 29: March 29
+Mar 29 29 March: March 29
+ March: continued
+Mar 29* Tuesday: Every Tuesday
+Mar 30* Wednesday-1: Last (-1) Wednesday
+Mar 30* Wed-1: Last (-1) Wednesday
+Mar 30* Wednesday+5: Fifth Wednesday
+Mar 30* Wed+5: Fifth Wednesday
+Mar 30* Wednesday+5: Fifth Wednesday in March
+Mar 30* Wed+5: Fifth Wednesday in March
+Mar 30* Fifth: Fifth Wednesday in March
+Mar 30* 30 of every month
+Mar 30 3/30: March 30
+Mar 30 Mar. 30: March 30
+Mar 30 30 March: March 30
+ March: continued
+Mar 30* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160330.out b/regress/usr.bin/calendar/20160330.out
new file mode 100644
index 0000000..a62cd22
--- /dev/null
+++ b/regress/usr.bin/calendar/20160330.out
@@ -0,0 +1,26 @@
+Mar 30* Wednesday-1: Last (-1) Wednesday
+Mar 30* Wed-1: Last (-1) Wednesday
+Mar 30* Wednesday+5: Fifth Wednesday
+Mar 30* Wed+5: Fifth Wednesday
+Mar 30* Wednesday+5: Fifth Wednesday in March
+Mar 30* Wed+5: Fifth Wednesday in March
+Mar 30* Fifth: Fifth Wednesday in March
+Mar 30* 30 of every month
+Mar 30 3/30: March 30
+Mar 30 Mar. 30: March 30
+Mar 30 30 March: March 30
+ March: continued
+Mar 30* Wednesday: Every Wednesday
+Mar 31* Thursday-1: Last (-1) Thursday
+Mar 31* Thu-1: Last (-1) Thursday
+Mar 31* Thursday+5: Fifth Thursday
+Mar 31* Thu+5: Fifth Thursday
+Mar 31* Thursday+5: Fifth Thursday in March
+Mar 31* Thu+5: Fifth Thursday in March
+Mar 31* Fifth: Fifth Thursday in March
+Mar 31* 31 of every month
+Mar 31 3/31: March 31
+Mar 31 Mar. 31: March 31
+Mar 31 31 March: March 31
+ March: continued
+Mar 31* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160331.out b/regress/usr.bin/calendar/20160331.out
new file mode 100644
index 0000000..717854b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160331.out
@@ -0,0 +1,29 @@
+Mar 31* Thursday-1: Last (-1) Thursday
+Mar 31* Thu-1: Last (-1) Thursday
+Mar 31* Thursday+5: Fifth Thursday
+Mar 31* Thu+5: Fifth Thursday
+Mar 31* Thursday+5: Fifth Thursday in March
+Mar 31* Thu+5: Fifth Thursday in March
+Mar 31* Fifth: Fifth Thursday in March
+Mar 31* 31 of every month
+Mar 31 3/31: March 31
+Mar 31 Mar. 31: March 31
+Mar 31 31 March: March 31
+ March: continued
+Mar 31* Thursday: Every Thursday
+Apr 01* Friday+1: First Friday
+Apr 01* Fri+1: First Friday
+Apr 01* Friday+1: First Friday in April
+Apr 01* Fri+1: First Friday in April
+Apr 01* First: First Friday in April
+Apr 01* Friday+5: Fifth Friday in March
+Apr 01* Fri+5: Fifth Friday in March
+Apr 01* Fifth: Fifth Friday in March
+Apr 01* 1 of every month
+Apr 01 4/1: April 1
+Apr 01 Apr. 1: April 1
+Apr 01 1 April: April 1
+ April: continued
+Apr 01* *: Beginning of every month
+Apr 01* Friday: Every Friday
+Apr 01 April: Every April 1st
diff --git a/regress/usr.bin/calendar/20160401.out b/regress/usr.bin/calendar/20160401.out
new file mode 100644
index 0000000..4f8d23b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160401.out
@@ -0,0 +1,62 @@
+Apr 01* Friday+1: First Friday
+Apr 01* Fri+1: First Friday
+Apr 01* Friday+1: First Friday in April
+Apr 01* Fri+1: First Friday in April
+Apr 01* First: First Friday in April
+Apr 01* Friday+5: Fifth Friday in March
+Apr 01* Fri+5: Fifth Friday in March
+Apr 01* Fifth: Fifth Friday in March
+Apr 01* 1 of every month
+Apr 01 4/1: April 1
+Apr 01 Apr. 1: April 1
+Apr 01 1 April: April 1
+ April: continued
+Apr 01* *: Beginning of every month
+Apr 01* Friday: Every Friday
+Apr 01 April: Every April 1st
+Apr 02* Saturday+1: First Saturday
+Apr 02* Sat+1: First Saturday
+Apr 02* Saturday+1: First Saturday in April
+Apr 02* Sat+1: First Saturday in April
+Apr 02* First: First Saturday in April
+Apr 02* Saturday+5: Fifth Saturday in March
+Apr 02* Sat+5: Fifth Saturday in March
+Apr 02* Fifth: Fifth Saturday in March
+Apr 02* 2 of every month
+Apr 02 4/2: April 2
+Apr 02 Apr. 2: April 2
+Apr 02 2 April: April 2
+ April: continued
+Apr 02* Saturday: Every Saturday
+Apr 03* Sunday+1: First Sunday
+Apr 03* Sun+1: First Sunday
+Apr 03* Sunday+1: First Sunday in April
+Apr 03* Sun+1: First Sunday in April
+Apr 03* First: First Sunday in April
+Apr 03* Sunday-4: Last (-4) Sunday
+Apr 03* Sun-4: Last (-4) Sunday
+Apr 03* Sunday+5: Fifth Sunday in March
+Apr 03* Sun+5: Fifth Sunday in March
+Apr 03* Fifth: Fifth Sunday in March
+Apr 03* 3 of every month
+Apr 03 4/3: April 3
+Apr 03 Apr. 3: April 3
+Apr 03 3 April: April 3
+ April: continued
+Apr 03* Sunday: Every Sunday
+Apr 04* Monday+1: First Monday
+Apr 04* Mon+1: First Monday
+Apr 04* Monday+1: First Monday in April
+Apr 04* Mon+1: First Monday in April
+Apr 04* First: First Monday in April
+Apr 04* Monday-4: Last (-4) Monday
+Apr 04* Mon-4: Last (-4) Monday
+Apr 04* Monday+5: Fifth Monday in March
+Apr 04* Mon+5: Fifth Monday in March
+Apr 04* Fifth: Fifth Monday in March
+Apr 04* 4 of every month
+Apr 04 4/4: April 4
+Apr 04 Apr. 4: April 4
+Apr 04 4 April: April 4
+ April: continued
+Apr 04* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160402.out b/regress/usr.bin/calendar/20160402.out
new file mode 100644
index 0000000..ccbcb23
--- /dev/null
+++ b/regress/usr.bin/calendar/20160402.out
@@ -0,0 +1,30 @@
+Apr 02* Saturday+1: First Saturday
+Apr 02* Sat+1: First Saturday
+Apr 02* Saturday+1: First Saturday in April
+Apr 02* Sat+1: First Saturday in April
+Apr 02* First: First Saturday in April
+Apr 02* Saturday+5: Fifth Saturday in March
+Apr 02* Sat+5: Fifth Saturday in March
+Apr 02* Fifth: Fifth Saturday in March
+Apr 02* 2 of every month
+Apr 02 4/2: April 2
+Apr 02 Apr. 2: April 2
+Apr 02 2 April: April 2
+ April: continued
+Apr 02* Saturday: Every Saturday
+Apr 03* Sunday+1: First Sunday
+Apr 03* Sun+1: First Sunday
+Apr 03* Sunday+1: First Sunday in April
+Apr 03* Sun+1: First Sunday in April
+Apr 03* First: First Sunday in April
+Apr 03* Sunday-4: Last (-4) Sunday
+Apr 03* Sun-4: Last (-4) Sunday
+Apr 03* Sunday+5: Fifth Sunday in March
+Apr 03* Sun+5: Fifth Sunday in March
+Apr 03* Fifth: Fifth Sunday in March
+Apr 03* 3 of every month
+Apr 03 4/3: April 3
+Apr 03 Apr. 3: April 3
+Apr 03 3 April: April 3
+ April: continued
+Apr 03* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160403.out b/regress/usr.bin/calendar/20160403.out
new file mode 100644
index 0000000..8333a8b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160403.out
@@ -0,0 +1,32 @@
+Apr 03* Sunday+1: First Sunday
+Apr 03* Sun+1: First Sunday
+Apr 03* Sunday+1: First Sunday in April
+Apr 03* Sun+1: First Sunday in April
+Apr 03* First: First Sunday in April
+Apr 03* Sunday-4: Last (-4) Sunday
+Apr 03* Sun-4: Last (-4) Sunday
+Apr 03* Sunday+5: Fifth Sunday in March
+Apr 03* Sun+5: Fifth Sunday in March
+Apr 03* Fifth: Fifth Sunday in March
+Apr 03* 3 of every month
+Apr 03 4/3: April 3
+Apr 03 Apr. 3: April 3
+Apr 03 3 April: April 3
+ April: continued
+Apr 03* Sunday: Every Sunday
+Apr 04* Monday+1: First Monday
+Apr 04* Mon+1: First Monday
+Apr 04* Monday+1: First Monday in April
+Apr 04* Mon+1: First Monday in April
+Apr 04* First: First Monday in April
+Apr 04* Monday-4: Last (-4) Monday
+Apr 04* Mon-4: Last (-4) Monday
+Apr 04* Monday+5: Fifth Monday in March
+Apr 04* Mon+5: Fifth Monday in March
+Apr 04* Fifth: Fifth Monday in March
+Apr 04* 4 of every month
+Apr 04 4/4: April 4
+Apr 04 Apr. 4: April 4
+Apr 04 4 April: April 4
+ April: continued
+Apr 04* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160404.out b/regress/usr.bin/calendar/20160404.out
new file mode 100644
index 0000000..73e5a14
--- /dev/null
+++ b/regress/usr.bin/calendar/20160404.out
@@ -0,0 +1,29 @@
+Apr 04* Monday+1: First Monday
+Apr 04* Mon+1: First Monday
+Apr 04* Monday+1: First Monday in April
+Apr 04* Mon+1: First Monday in April
+Apr 04* First: First Monday in April
+Apr 04* Monday-4: Last (-4) Monday
+Apr 04* Mon-4: Last (-4) Monday
+Apr 04* Monday+5: Fifth Monday in March
+Apr 04* Mon+5: Fifth Monday in March
+Apr 04* Fifth: Fifth Monday in March
+Apr 04* 4 of every month
+Apr 04 4/4: April 4
+Apr 04 Apr. 4: April 4
+Apr 04 4 April: April 4
+ April: continued
+Apr 04* Monday: Every Monday
+Apr 05* Tuesday+1: First Tuesday
+Apr 05* Tue+1: First Tuesday
+Apr 05* Tuesday+1: First Tuesday in April
+Apr 05* Tue+1: First Tuesday in April
+Apr 05* First: First Tuesday in April
+Apr 05* Tuesday-4: Last (-4) Tuesday
+Apr 05* Tue-4: Last (-4) Tuesday
+Apr 05* 5 of every month
+Apr 05 4/5: April 5
+Apr 05 Apr. 5: April 5
+Apr 05 5 April: April 5
+ April: continued
+Apr 05* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160405.out b/regress/usr.bin/calendar/20160405.out
new file mode 100644
index 0000000..63a044d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160405.out
@@ -0,0 +1,26 @@
+Apr 05* Tuesday+1: First Tuesday
+Apr 05* Tue+1: First Tuesday
+Apr 05* Tuesday+1: First Tuesday in April
+Apr 05* Tue+1: First Tuesday in April
+Apr 05* First: First Tuesday in April
+Apr 05* Tuesday-4: Last (-4) Tuesday
+Apr 05* Tue-4: Last (-4) Tuesday
+Apr 05* 5 of every month
+Apr 05 4/5: April 5
+Apr 05 Apr. 5: April 5
+Apr 05 5 April: April 5
+ April: continued
+Apr 05* Tuesday: Every Tuesday
+Apr 06* Wednesday+1: First Wednesday
+Apr 06* Wed+1: First Wednesday
+Apr 06* Wednesday+1: First Wednesday in April
+Apr 06* Wed+1: First Wednesday in April
+Apr 06* First: First Wednesday in April
+Apr 06* Wednesday-4: Last (-4) Wednesday
+Apr 06* Wed-4: Last (-4) Wednesday
+Apr 06* 6 of every month
+Apr 06 4/6: April 6
+Apr 06 Apr. 6: April 6
+Apr 06 6 April: April 6
+ April: continued
+Apr 06* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160406.out b/regress/usr.bin/calendar/20160406.out
new file mode 100644
index 0000000..27a3d64
--- /dev/null
+++ b/regress/usr.bin/calendar/20160406.out
@@ -0,0 +1,26 @@
+Apr 06* Wednesday+1: First Wednesday
+Apr 06* Wed+1: First Wednesday
+Apr 06* Wednesday+1: First Wednesday in April
+Apr 06* Wed+1: First Wednesday in April
+Apr 06* First: First Wednesday in April
+Apr 06* Wednesday-4: Last (-4) Wednesday
+Apr 06* Wed-4: Last (-4) Wednesday
+Apr 06* 6 of every month
+Apr 06 4/6: April 6
+Apr 06 Apr. 6: April 6
+Apr 06 6 April: April 6
+ April: continued
+Apr 06* Wednesday: Every Wednesday
+Apr 07* Thursday+1: First Thursday
+Apr 07* Thu+1: First Thursday
+Apr 07* Thursday+1: First Thursday in April
+Apr 07* Thu+1: First Thursday in April
+Apr 07* First: First Thursday in April
+Apr 07* Thursday-4: Last (-4) Thursday
+Apr 07* Thu-4: Last (-4) Thursday
+Apr 07* 7 of every month
+Apr 07 4/7: April 7
+Apr 07 Apr. 7: April 7
+Apr 07 7 April: April 7
+ April: continued
+Apr 07* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160407.out b/regress/usr.bin/calendar/20160407.out
new file mode 100644
index 0000000..2684cd9
--- /dev/null
+++ b/regress/usr.bin/calendar/20160407.out
@@ -0,0 +1,26 @@
+Apr 07* Thursday+1: First Thursday
+Apr 07* Thu+1: First Thursday
+Apr 07* Thursday+1: First Thursday in April
+Apr 07* Thu+1: First Thursday in April
+Apr 07* First: First Thursday in April
+Apr 07* Thursday-4: Last (-4) Thursday
+Apr 07* Thu-4: Last (-4) Thursday
+Apr 07* 7 of every month
+Apr 07 4/7: April 7
+Apr 07 Apr. 7: April 7
+Apr 07 7 April: April 7
+ April: continued
+Apr 07* Thursday: Every Thursday
+Apr 08* Friday+2: Second Friday
+Apr 08* Fri+2: Second Friday
+Apr 08* Friday+2: Second Friday in April
+Apr 08* Fri+2: Second Friday in April
+Apr 08* Second: Second Friday in April
+Apr 08* Friday-4: Last (-4) Friday
+Apr 08* Fri-4: Last (-4) Friday
+Apr 08* 8 of every month
+Apr 08 4/8: April 8
+Apr 08 Apr. 8: April 8
+Apr 08 8 April: April 8
+ April: continued
+Apr 08* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160408.out b/regress/usr.bin/calendar/20160408.out
new file mode 100644
index 0000000..e6ce03f
--- /dev/null
+++ b/regress/usr.bin/calendar/20160408.out
@@ -0,0 +1,52 @@
+Apr 08* Friday+2: Second Friday
+Apr 08* Fri+2: Second Friday
+Apr 08* Friday+2: Second Friday in April
+Apr 08* Fri+2: Second Friday in April
+Apr 08* Second: Second Friday in April
+Apr 08* Friday-4: Last (-4) Friday
+Apr 08* Fri-4: Last (-4) Friday
+Apr 08* 8 of every month
+Apr 08 4/8: April 8
+Apr 08 Apr. 8: April 8
+Apr 08 8 April: April 8
+ April: continued
+Apr 08* Friday: Every Friday
+Apr 09* Saturday+2: Second Saturday
+Apr 09* Sat+2: Second Saturday
+Apr 09* Saturday+2: Second Saturday in April
+Apr 09* Sat+2: Second Saturday in April
+Apr 09* Second: Second Saturday in April
+Apr 09* Saturday-4: Last (-4) Saturday
+Apr 09* Sat-4: Last (-4) Saturday
+Apr 09* 9 of every month
+Apr 09 4/9: April 9
+Apr 09 Apr. 9: April 9
+Apr 09 9 April: April 9
+ April: continued
+Apr 09* Saturday: Every Saturday
+Apr 10* Sunday+2: Second Sunday
+Apr 10* Sun+2: Second Sunday
+Apr 10* Sunday+2: Second Sunday in April
+Apr 10* Sun+2: Second Sunday in April
+Apr 10* Second: Second Sunday in April
+Apr 10* Sunday-3: Last (-3) Sunday
+Apr 10* Sun-3: Last (-3) Sunday
+Apr 10* 10 of every month
+Apr 10 4/10: April 10
+Apr 10 Apr. 10: April 10
+Apr 10 10 April: April 10
+ April: continued
+Apr 10* Sunday: Every Sunday
+Apr 11* Monday+2: Second Monday
+Apr 11* Mon+2: Second Monday
+Apr 11* Monday+2: Second Monday in April
+Apr 11* Mon+2: Second Monday in April
+Apr 11* Second: Second Monday in April
+Apr 11* Monday-3: Last (-3) Monday
+Apr 11* Mon-3: Last (-3) Monday
+Apr 11* 11 of every month
+Apr 11 4/11: April 11
+Apr 11 Apr. 11: April 11
+Apr 11 11 April: April 11
+ April: continued
+Apr 11* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160409.out b/regress/usr.bin/calendar/20160409.out
new file mode 100644
index 0000000..0055a02
--- /dev/null
+++ b/regress/usr.bin/calendar/20160409.out
@@ -0,0 +1,26 @@
+Apr 09* Saturday+2: Second Saturday
+Apr 09* Sat+2: Second Saturday
+Apr 09* Saturday+2: Second Saturday in April
+Apr 09* Sat+2: Second Saturday in April
+Apr 09* Second: Second Saturday in April
+Apr 09* Saturday-4: Last (-4) Saturday
+Apr 09* Sat-4: Last (-4) Saturday
+Apr 09* 9 of every month
+Apr 09 4/9: April 9
+Apr 09 Apr. 9: April 9
+Apr 09 9 April: April 9
+ April: continued
+Apr 09* Saturday: Every Saturday
+Apr 10* Sunday+2: Second Sunday
+Apr 10* Sun+2: Second Sunday
+Apr 10* Sunday+2: Second Sunday in April
+Apr 10* Sun+2: Second Sunday in April
+Apr 10* Second: Second Sunday in April
+Apr 10* Sunday-3: Last (-3) Sunday
+Apr 10* Sun-3: Last (-3) Sunday
+Apr 10* 10 of every month
+Apr 10 4/10: April 10
+Apr 10 Apr. 10: April 10
+Apr 10 10 April: April 10
+ April: continued
+Apr 10* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160410.out b/regress/usr.bin/calendar/20160410.out
new file mode 100644
index 0000000..fecf14a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160410.out
@@ -0,0 +1,26 @@
+Apr 10* Sunday+2: Second Sunday
+Apr 10* Sun+2: Second Sunday
+Apr 10* Sunday+2: Second Sunday in April
+Apr 10* Sun+2: Second Sunday in April
+Apr 10* Second: Second Sunday in April
+Apr 10* Sunday-3: Last (-3) Sunday
+Apr 10* Sun-3: Last (-3) Sunday
+Apr 10* 10 of every month
+Apr 10 4/10: April 10
+Apr 10 Apr. 10: April 10
+Apr 10 10 April: April 10
+ April: continued
+Apr 10* Sunday: Every Sunday
+Apr 11* Monday+2: Second Monday
+Apr 11* Mon+2: Second Monday
+Apr 11* Monday+2: Second Monday in April
+Apr 11* Mon+2: Second Monday in April
+Apr 11* Second: Second Monday in April
+Apr 11* Monday-3: Last (-3) Monday
+Apr 11* Mon-3: Last (-3) Monday
+Apr 11* 11 of every month
+Apr 11 4/11: April 11
+Apr 11 Apr. 11: April 11
+Apr 11 11 April: April 11
+ April: continued
+Apr 11* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160411.out b/regress/usr.bin/calendar/20160411.out
new file mode 100644
index 0000000..018842e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160411.out
@@ -0,0 +1,26 @@
+Apr 11* Monday+2: Second Monday
+Apr 11* Mon+2: Second Monday
+Apr 11* Monday+2: Second Monday in April
+Apr 11* Mon+2: Second Monday in April
+Apr 11* Second: Second Monday in April
+Apr 11* Monday-3: Last (-3) Monday
+Apr 11* Mon-3: Last (-3) Monday
+Apr 11* 11 of every month
+Apr 11 4/11: April 11
+Apr 11 Apr. 11: April 11
+Apr 11 11 April: April 11
+ April: continued
+Apr 11* Monday: Every Monday
+Apr 12* Tuesday+2: Second Tuesday
+Apr 12* Tue+2: Second Tuesday
+Apr 12* Tuesday+2: Second Tuesday in April
+Apr 12* Tue+2: Second Tuesday in April
+Apr 12* Second: Second Tuesday in April
+Apr 12* Tuesday-3: Last (-3) Tuesday
+Apr 12* Tue-3: Last (-3) Tuesday
+Apr 12* 12 of every month
+Apr 12 4/12: April 12
+Apr 12 Apr. 12: April 12
+Apr 12 12 April: April 12
+ April: continued
+Apr 12* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160412.out b/regress/usr.bin/calendar/20160412.out
new file mode 100644
index 0000000..7e94908
--- /dev/null
+++ b/regress/usr.bin/calendar/20160412.out
@@ -0,0 +1,26 @@
+Apr 12* Tuesday+2: Second Tuesday
+Apr 12* Tue+2: Second Tuesday
+Apr 12* Tuesday+2: Second Tuesday in April
+Apr 12* Tue+2: Second Tuesday in April
+Apr 12* Second: Second Tuesday in April
+Apr 12* Tuesday-3: Last (-3) Tuesday
+Apr 12* Tue-3: Last (-3) Tuesday
+Apr 12* 12 of every month
+Apr 12 4/12: April 12
+Apr 12 Apr. 12: April 12
+Apr 12 12 April: April 12
+ April: continued
+Apr 12* Tuesday: Every Tuesday
+Apr 13* Wednesday+2: Second Wednesday
+Apr 13* Wed+2: Second Wednesday
+Apr 13* Wednesday+2: Second Wednesday in April
+Apr 13* Wed+2: Second Wednesday in April
+Apr 13* Second: Second Wednesday in April
+Apr 13* Wednesday-3: Last (-3) Wednesday
+Apr 13* Wed-3: Last (-3) Wednesday
+Apr 13* 13 of every month
+Apr 13 4/13: April 13
+Apr 13 Apr. 13: April 13
+Apr 13 13 April: April 13
+ April: continued
+Apr 13* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160413.out b/regress/usr.bin/calendar/20160413.out
new file mode 100644
index 0000000..a020b53
--- /dev/null
+++ b/regress/usr.bin/calendar/20160413.out
@@ -0,0 +1,26 @@
+Apr 13* Wednesday+2: Second Wednesday
+Apr 13* Wed+2: Second Wednesday
+Apr 13* Wednesday+2: Second Wednesday in April
+Apr 13* Wed+2: Second Wednesday in April
+Apr 13* Second: Second Wednesday in April
+Apr 13* Wednesday-3: Last (-3) Wednesday
+Apr 13* Wed-3: Last (-3) Wednesday
+Apr 13* 13 of every month
+Apr 13 4/13: April 13
+Apr 13 Apr. 13: April 13
+Apr 13 13 April: April 13
+ April: continued
+Apr 13* Wednesday: Every Wednesday
+Apr 14* Thursday+2: Second Thursday
+Apr 14* Thu+2: Second Thursday
+Apr 14* Thursday+2: Second Thursday in April
+Apr 14* Thu+2: Second Thursday in April
+Apr 14* Second: Second Thursday in April
+Apr 14* Thursday-3: Last (-3) Thursday
+Apr 14* Thu-3: Last (-3) Thursday
+Apr 14* 14 of every month
+Apr 14 4/14: April 14
+Apr 14 Apr. 14: April 14
+Apr 14 14 April: April 14
+ April: continued
+Apr 14* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160414.out b/regress/usr.bin/calendar/20160414.out
new file mode 100644
index 0000000..5785fec
--- /dev/null
+++ b/regress/usr.bin/calendar/20160414.out
@@ -0,0 +1,26 @@
+Apr 14* Thursday+2: Second Thursday
+Apr 14* Thu+2: Second Thursday
+Apr 14* Thursday+2: Second Thursday in April
+Apr 14* Thu+2: Second Thursday in April
+Apr 14* Second: Second Thursday in April
+Apr 14* Thursday-3: Last (-3) Thursday
+Apr 14* Thu-3: Last (-3) Thursday
+Apr 14* 14 of every month
+Apr 14 4/14: April 14
+Apr 14 Apr. 14: April 14
+Apr 14 14 April: April 14
+ April: continued
+Apr 14* Thursday: Every Thursday
+Apr 15* Friday+3: Third Friday
+Apr 15* Fri+3: Third Friday
+Apr 15* Friday-3: Last (-3) Friday
+Apr 15* Fri-3: Last (-3) Friday
+Apr 15* Friday+3: Third Friday in April
+Apr 15* Fri+3: Third Friday in April
+Apr 15* Third: Third Friday in April
+Apr 15* 15 of every month
+Apr 15 4/15: April 15
+Apr 15 Apr. 15: April 15
+Apr 15 15 April: April 15
+ April: continued
+Apr 15* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160415.out b/regress/usr.bin/calendar/20160415.out
new file mode 100644
index 0000000..76ba40d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160415.out
@@ -0,0 +1,52 @@
+Apr 15* Friday+3: Third Friday
+Apr 15* Fri+3: Third Friday
+Apr 15* Friday-3: Last (-3) Friday
+Apr 15* Fri-3: Last (-3) Friday
+Apr 15* Friday+3: Third Friday in April
+Apr 15* Fri+3: Third Friday in April
+Apr 15* Third: Third Friday in April
+Apr 15* 15 of every month
+Apr 15 4/15: April 15
+Apr 15 Apr. 15: April 15
+Apr 15 15 April: April 15
+ April: continued
+Apr 15* Friday: Every Friday
+Apr 16* Saturday+3: Third Saturday
+Apr 16* Sat+3: Third Saturday
+Apr 16* Saturday-3: Last (-3) Saturday
+Apr 16* Sat-3: Last (-3) Saturday
+Apr 16* Saturday+3: Third Saturday in April
+Apr 16* Sat+3: Third Saturday in April
+Apr 16* Third: Third Saturday in April
+Apr 16* 16 of every month
+Apr 16 4/16: April 16
+Apr 16 Apr. 16: April 16
+Apr 16 16 April: April 16
+ April: continued
+Apr 16* Saturday: Every Saturday
+Apr 17* Sunday-2: Last (-2) Sunday
+Apr 17* Sun-2: Last (-2) Sunday
+Apr 17* Sunday+3: Third Sunday
+Apr 17* Sun+3: Third Sunday
+Apr 17* Sunday+3: Third Sunday in April
+Apr 17* Sun+3: Third Sunday in April
+Apr 17* Third: Third Sunday in April
+Apr 17* 17 of every month
+Apr 17 4/17: April 17
+Apr 17 Apr. 17: April 17
+Apr 17 17 April: April 17
+ April: continued
+Apr 17* Sunday: Every Sunday
+Apr 18* Monday-2: Last (-2) Monday
+Apr 18* Mon-2: Last (-2) Monday
+Apr 18* Monday+3: Third Monday
+Apr 18* Mon+3: Third Monday
+Apr 18* Monday+3: Third Monday in April
+Apr 18* Mon+3: Third Monday in April
+Apr 18* Third: Third Monday in April
+Apr 18* 18 of every month
+Apr 18 4/18: April 18
+Apr 18 Apr. 18: April 18
+Apr 18 18 April: April 18
+ April: continued
+Apr 18* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160416.out b/regress/usr.bin/calendar/20160416.out
new file mode 100644
index 0000000..0e4a022
--- /dev/null
+++ b/regress/usr.bin/calendar/20160416.out
@@ -0,0 +1,26 @@
+Apr 16* Saturday+3: Third Saturday
+Apr 16* Sat+3: Third Saturday
+Apr 16* Saturday-3: Last (-3) Saturday
+Apr 16* Sat-3: Last (-3) Saturday
+Apr 16* Saturday+3: Third Saturday in April
+Apr 16* Sat+3: Third Saturday in April
+Apr 16* Third: Third Saturday in April
+Apr 16* 16 of every month
+Apr 16 4/16: April 16
+Apr 16 Apr. 16: April 16
+Apr 16 16 April: April 16
+ April: continued
+Apr 16* Saturday: Every Saturday
+Apr 17* Sunday-2: Last (-2) Sunday
+Apr 17* Sun-2: Last (-2) Sunday
+Apr 17* Sunday+3: Third Sunday
+Apr 17* Sun+3: Third Sunday
+Apr 17* Sunday+3: Third Sunday in April
+Apr 17* Sun+3: Third Sunday in April
+Apr 17* Third: Third Sunday in April
+Apr 17* 17 of every month
+Apr 17 4/17: April 17
+Apr 17 Apr. 17: April 17
+Apr 17 17 April: April 17
+ April: continued
+Apr 17* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160417.out b/regress/usr.bin/calendar/20160417.out
new file mode 100644
index 0000000..f9932b2
--- /dev/null
+++ b/regress/usr.bin/calendar/20160417.out
@@ -0,0 +1,26 @@
+Apr 17* Sunday-2: Last (-2) Sunday
+Apr 17* Sun-2: Last (-2) Sunday
+Apr 17* Sunday+3: Third Sunday
+Apr 17* Sun+3: Third Sunday
+Apr 17* Sunday+3: Third Sunday in April
+Apr 17* Sun+3: Third Sunday in April
+Apr 17* Third: Third Sunday in April
+Apr 17* 17 of every month
+Apr 17 4/17: April 17
+Apr 17 Apr. 17: April 17
+Apr 17 17 April: April 17
+ April: continued
+Apr 17* Sunday: Every Sunday
+Apr 18* Monday-2: Last (-2) Monday
+Apr 18* Mon-2: Last (-2) Monday
+Apr 18* Monday+3: Third Monday
+Apr 18* Mon+3: Third Monday
+Apr 18* Monday+3: Third Monday in April
+Apr 18* Mon+3: Third Monday in April
+Apr 18* Third: Third Monday in April
+Apr 18* 18 of every month
+Apr 18 4/18: April 18
+Apr 18 Apr. 18: April 18
+Apr 18 18 April: April 18
+ April: continued
+Apr 18* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160418.out b/regress/usr.bin/calendar/20160418.out
new file mode 100644
index 0000000..42b018e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160418.out
@@ -0,0 +1,26 @@
+Apr 18* Monday-2: Last (-2) Monday
+Apr 18* Mon-2: Last (-2) Monday
+Apr 18* Monday+3: Third Monday
+Apr 18* Mon+3: Third Monday
+Apr 18* Monday+3: Third Monday in April
+Apr 18* Mon+3: Third Monday in April
+Apr 18* Third: Third Monday in April
+Apr 18* 18 of every month
+Apr 18 4/18: April 18
+Apr 18 Apr. 18: April 18
+Apr 18 18 April: April 18
+ April: continued
+Apr 18* Monday: Every Monday
+Apr 19* Tuesday-2: Last (-2) Tuesday
+Apr 19* Tue-2: Last (-2) Tuesday
+Apr 19* Tuesday+3: Third Tuesday
+Apr 19* Tue+3: Third Tuesday
+Apr 19* Tuesday+3: Third Tuesday in April
+Apr 19* Tue+3: Third Tuesday in April
+Apr 19* Third: Third Tuesday in April
+Apr 19* 19 of every month
+Apr 19 4/19: April 19
+Apr 19 Apr. 19: April 19
+Apr 19 19 April: April 19
+ April: continued
+Apr 19* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160419.out b/regress/usr.bin/calendar/20160419.out
new file mode 100644
index 0000000..af61774
--- /dev/null
+++ b/regress/usr.bin/calendar/20160419.out
@@ -0,0 +1,26 @@
+Apr 19* Tuesday-2: Last (-2) Tuesday
+Apr 19* Tue-2: Last (-2) Tuesday
+Apr 19* Tuesday+3: Third Tuesday
+Apr 19* Tue+3: Third Tuesday
+Apr 19* Tuesday+3: Third Tuesday in April
+Apr 19* Tue+3: Third Tuesday in April
+Apr 19* Third: Third Tuesday in April
+Apr 19* 19 of every month
+Apr 19 4/19: April 19
+Apr 19 Apr. 19: April 19
+Apr 19 19 April: April 19
+ April: continued
+Apr 19* Tuesday: Every Tuesday
+Apr 20* Wednesday-2: Last (-2) Wednesday
+Apr 20* Wed-2: Last (-2) Wednesday
+Apr 20* Wednesday+3: Third Wednesday
+Apr 20* Wed+3: Third Wednesday
+Apr 20* Wednesday+3: Third Wednesday in April
+Apr 20* Wed+3: Third Wednesday in April
+Apr 20* Third: Third Wednesday in April
+Apr 20* 20 of every month
+Apr 20 4/20: April 20
+Apr 20 Apr. 20: April 20
+Apr 20 20 April: April 20
+ April: continued
+Apr 20* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160420.out b/regress/usr.bin/calendar/20160420.out
new file mode 100644
index 0000000..701ed75
--- /dev/null
+++ b/regress/usr.bin/calendar/20160420.out
@@ -0,0 +1,26 @@
+Apr 20* Wednesday-2: Last (-2) Wednesday
+Apr 20* Wed-2: Last (-2) Wednesday
+Apr 20* Wednesday+3: Third Wednesday
+Apr 20* Wed+3: Third Wednesday
+Apr 20* Wednesday+3: Third Wednesday in April
+Apr 20* Wed+3: Third Wednesday in April
+Apr 20* Third: Third Wednesday in April
+Apr 20* 20 of every month
+Apr 20 4/20: April 20
+Apr 20 Apr. 20: April 20
+Apr 20 20 April: April 20
+ April: continued
+Apr 20* Wednesday: Every Wednesday
+Apr 21* Thursday-2: Last (-2) Thursday
+Apr 21* Thu-2: Last (-2) Thursday
+Apr 21* Thursday+3: Third Thursday
+Apr 21* Thu+3: Third Thursday
+Apr 21* Thursday+3: Third Thursday in April
+Apr 21* Thu+3: Third Thursday in April
+Apr 21* Third: Third Thursday in April
+Apr 21* 21 of every month
+Apr 21 4/21: April 21
+Apr 21 Apr. 21: April 21
+Apr 21 21 April: April 21
+ April: continued
+Apr 21* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160421.out b/regress/usr.bin/calendar/20160421.out
new file mode 100644
index 0000000..2730af7
--- /dev/null
+++ b/regress/usr.bin/calendar/20160421.out
@@ -0,0 +1,26 @@
+Apr 21* Thursday-2: Last (-2) Thursday
+Apr 21* Thu-2: Last (-2) Thursday
+Apr 21* Thursday+3: Third Thursday
+Apr 21* Thu+3: Third Thursday
+Apr 21* Thursday+3: Third Thursday in April
+Apr 21* Thu+3: Third Thursday in April
+Apr 21* Third: Third Thursday in April
+Apr 21* 21 of every month
+Apr 21 4/21: April 21
+Apr 21 Apr. 21: April 21
+Apr 21 21 April: April 21
+ April: continued
+Apr 21* Thursday: Every Thursday
+Apr 22* Friday-2: Last (-2) Friday
+Apr 22* Fri-2: Last (-2) Friday
+Apr 22* Friday+4: Fourth Friday
+Apr 22* Fri+4: Fourth Friday
+Apr 22* Friday+4: Fourth Friday in April
+Apr 22* Fri+4: Fourth Friday in April
+Apr 22* Fourth: Fourth Friday in April
+Apr 22* 22 of every month
+Apr 22 4/22: April 22
+Apr 22 Apr. 22: April 22
+Apr 22 22 April: April 22
+ April: continued
+Apr 22* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160422.out b/regress/usr.bin/calendar/20160422.out
new file mode 100644
index 0000000..b5fe96a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160422.out
@@ -0,0 +1,52 @@
+Apr 22* Friday-2: Last (-2) Friday
+Apr 22* Fri-2: Last (-2) Friday
+Apr 22* Friday+4: Fourth Friday
+Apr 22* Fri+4: Fourth Friday
+Apr 22* Friday+4: Fourth Friday in April
+Apr 22* Fri+4: Fourth Friday in April
+Apr 22* Fourth: Fourth Friday in April
+Apr 22* 22 of every month
+Apr 22 4/22: April 22
+Apr 22 Apr. 22: April 22
+Apr 22 22 April: April 22
+ April: continued
+Apr 22* Friday: Every Friday
+Apr 23* Saturday-2: Last (-2) Saturday
+Apr 23* Sat-2: Last (-2) Saturday
+Apr 23* Saturday+4: Fourth Saturday
+Apr 23* Sat+4: Fourth Saturday
+Apr 23* Saturday+4: Fourth Saturday in April
+Apr 23* Sat+4: Fourth Saturday in April
+Apr 23* Fourth: Fourth Saturday in April
+Apr 23* 23 of every month
+Apr 23 4/23: April 23
+Apr 23 Apr. 23: April 23
+Apr 23 23 April: April 23
+ April: continued
+Apr 23* Saturday: Every Saturday
+Apr 24* Sunday-1: Last (-1) Sunday
+Apr 24* Sun-1: Last (-1) Sunday
+Apr 24* Sunday+4: Fourth Sunday
+Apr 24* Sun+4: Fourth Sunday
+Apr 24* Sunday+4: Fourth Sunday in April
+Apr 24* Sun+4: Fourth Sunday in April
+Apr 24* Fourth: Fourth Sunday in April
+Apr 24* 24 of every month
+Apr 24 4/24: April 24
+Apr 24 Apr. 24: April 24
+Apr 24 24 April: April 24
+ April: continued
+Apr 24* Sunday: Every Sunday
+Apr 25* Monday-1: Last (-1) Monday
+Apr 25* Mon-1: Last (-1) Monday
+Apr 25* Monday+4: Fourth Monday
+Apr 25* Mon+4: Fourth Monday
+Apr 25* Monday+4: Fourth Monday in April
+Apr 25* Mon+4: Fourth Monday in April
+Apr 25* Fourth: Fourth Monday in April
+Apr 25* 25 of every month
+Apr 25 4/25: April 25
+Apr 25 Apr. 25: April 25
+Apr 25 25 April: April 25
+ April: continued
+Apr 25* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160423.out b/regress/usr.bin/calendar/20160423.out
new file mode 100644
index 0000000..d0f6bb3
--- /dev/null
+++ b/regress/usr.bin/calendar/20160423.out
@@ -0,0 +1,26 @@
+Apr 23* Saturday-2: Last (-2) Saturday
+Apr 23* Sat-2: Last (-2) Saturday
+Apr 23* Saturday+4: Fourth Saturday
+Apr 23* Sat+4: Fourth Saturday
+Apr 23* Saturday+4: Fourth Saturday in April
+Apr 23* Sat+4: Fourth Saturday in April
+Apr 23* Fourth: Fourth Saturday in April
+Apr 23* 23 of every month
+Apr 23 4/23: April 23
+Apr 23 Apr. 23: April 23
+Apr 23 23 April: April 23
+ April: continued
+Apr 23* Saturday: Every Saturday
+Apr 24* Sunday-1: Last (-1) Sunday
+Apr 24* Sun-1: Last (-1) Sunday
+Apr 24* Sunday+4: Fourth Sunday
+Apr 24* Sun+4: Fourth Sunday
+Apr 24* Sunday+4: Fourth Sunday in April
+Apr 24* Sun+4: Fourth Sunday in April
+Apr 24* Fourth: Fourth Sunday in April
+Apr 24* 24 of every month
+Apr 24 4/24: April 24
+Apr 24 Apr. 24: April 24
+Apr 24 24 April: April 24
+ April: continued
+Apr 24* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160424.out b/regress/usr.bin/calendar/20160424.out
new file mode 100644
index 0000000..bb6479e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160424.out
@@ -0,0 +1,26 @@
+Apr 24* Sunday-1: Last (-1) Sunday
+Apr 24* Sun-1: Last (-1) Sunday
+Apr 24* Sunday+4: Fourth Sunday
+Apr 24* Sun+4: Fourth Sunday
+Apr 24* Sunday+4: Fourth Sunday in April
+Apr 24* Sun+4: Fourth Sunday in April
+Apr 24* Fourth: Fourth Sunday in April
+Apr 24* 24 of every month
+Apr 24 4/24: April 24
+Apr 24 Apr. 24: April 24
+Apr 24 24 April: April 24
+ April: continued
+Apr 24* Sunday: Every Sunday
+Apr 25* Monday-1: Last (-1) Monday
+Apr 25* Mon-1: Last (-1) Monday
+Apr 25* Monday+4: Fourth Monday
+Apr 25* Mon+4: Fourth Monday
+Apr 25* Monday+4: Fourth Monday in April
+Apr 25* Mon+4: Fourth Monday in April
+Apr 25* Fourth: Fourth Monday in April
+Apr 25* 25 of every month
+Apr 25 4/25: April 25
+Apr 25 Apr. 25: April 25
+Apr 25 25 April: April 25
+ April: continued
+Apr 25* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160425.out b/regress/usr.bin/calendar/20160425.out
new file mode 100644
index 0000000..851c762
--- /dev/null
+++ b/regress/usr.bin/calendar/20160425.out
@@ -0,0 +1,26 @@
+Apr 25* Monday-1: Last (-1) Monday
+Apr 25* Mon-1: Last (-1) Monday
+Apr 25* Monday+4: Fourth Monday
+Apr 25* Mon+4: Fourth Monday
+Apr 25* Monday+4: Fourth Monday in April
+Apr 25* Mon+4: Fourth Monday in April
+Apr 25* Fourth: Fourth Monday in April
+Apr 25* 25 of every month
+Apr 25 4/25: April 25
+Apr 25 Apr. 25: April 25
+Apr 25 25 April: April 25
+ April: continued
+Apr 25* Monday: Every Monday
+Apr 26* Tuesday-1: Last (-1) Tuesday
+Apr 26* Tue-1: Last (-1) Tuesday
+Apr 26* Tuesday+4: Fourth Tuesday
+Apr 26* Tue+4: Fourth Tuesday
+Apr 26* Tuesday+4: Fourth Tuesday in April
+Apr 26* Tue+4: Fourth Tuesday in April
+Apr 26* Fourth: Fourth Tuesday in April
+Apr 26* 26 of every month
+Apr 26 4/26: April 26
+Apr 26 Apr. 26: April 26
+Apr 26 26 April: April 26
+ April: continued
+Apr 26* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160426.out b/regress/usr.bin/calendar/20160426.out
new file mode 100644
index 0000000..d94107d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160426.out
@@ -0,0 +1,26 @@
+Apr 26* Tuesday-1: Last (-1) Tuesday
+Apr 26* Tue-1: Last (-1) Tuesday
+Apr 26* Tuesday+4: Fourth Tuesday
+Apr 26* Tue+4: Fourth Tuesday
+Apr 26* Tuesday+4: Fourth Tuesday in April
+Apr 26* Tue+4: Fourth Tuesday in April
+Apr 26* Fourth: Fourth Tuesday in April
+Apr 26* 26 of every month
+Apr 26 4/26: April 26
+Apr 26 Apr. 26: April 26
+Apr 26 26 April: April 26
+ April: continued
+Apr 26* Tuesday: Every Tuesday
+Apr 27* Wednesday-1: Last (-1) Wednesday
+Apr 27* Wed-1: Last (-1) Wednesday
+Apr 27* Wednesday+4: Fourth Wednesday
+Apr 27* Wed+4: Fourth Wednesday
+Apr 27* Wednesday+4: Fourth Wednesday in April
+Apr 27* Wed+4: Fourth Wednesday in April
+Apr 27* Fourth: Fourth Wednesday in April
+Apr 27* 27 of every month
+Apr 27 4/27: April 27
+Apr 27 Apr. 27: April 27
+Apr 27 27 April: April 27
+ April: continued
+Apr 27* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160427.out b/regress/usr.bin/calendar/20160427.out
new file mode 100644
index 0000000..1a41250
--- /dev/null
+++ b/regress/usr.bin/calendar/20160427.out
@@ -0,0 +1,26 @@
+Apr 27* Wednesday-1: Last (-1) Wednesday
+Apr 27* Wed-1: Last (-1) Wednesday
+Apr 27* Wednesday+4: Fourth Wednesday
+Apr 27* Wed+4: Fourth Wednesday
+Apr 27* Wednesday+4: Fourth Wednesday in April
+Apr 27* Wed+4: Fourth Wednesday in April
+Apr 27* Fourth: Fourth Wednesday in April
+Apr 27* 27 of every month
+Apr 27 4/27: April 27
+Apr 27 Apr. 27: April 27
+Apr 27 27 April: April 27
+ April: continued
+Apr 27* Wednesday: Every Wednesday
+Apr 28* Thursday-1: Last (-1) Thursday
+Apr 28* Thu-1: Last (-1) Thursday
+Apr 28* Thursday+4: Fourth Thursday
+Apr 28* Thu+4: Fourth Thursday
+Apr 28* Thursday+4: Fourth Thursday in April
+Apr 28* Thu+4: Fourth Thursday in April
+Apr 28* Fourth: Fourth Thursday in April
+Apr 28* 28 of every month
+Apr 28 4/28: April 28
+Apr 28 Apr. 28: April 28
+Apr 28 28 April: April 28
+ April: continued
+Apr 28* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160428.out b/regress/usr.bin/calendar/20160428.out
new file mode 100644
index 0000000..f9a8a27
--- /dev/null
+++ b/regress/usr.bin/calendar/20160428.out
@@ -0,0 +1,26 @@
+Apr 28* Thursday-1: Last (-1) Thursday
+Apr 28* Thu-1: Last (-1) Thursday
+Apr 28* Thursday+4: Fourth Thursday
+Apr 28* Thu+4: Fourth Thursday
+Apr 28* Thursday+4: Fourth Thursday in April
+Apr 28* Thu+4: Fourth Thursday in April
+Apr 28* Fourth: Fourth Thursday in April
+Apr 28* 28 of every month
+Apr 28 4/28: April 28
+Apr 28 Apr. 28: April 28
+Apr 28 28 April: April 28
+ April: continued
+Apr 28* Thursday: Every Thursday
+Apr 29* Friday-1: Last (-1) Friday
+Apr 29* Fri-1: Last (-1) Friday
+Apr 29* Friday+5: Fifth Friday
+Apr 29* Fri+5: Fifth Friday
+Apr 29* Friday+5: Fifth Friday in April
+Apr 29* Fri+5: Fifth Friday in April
+Apr 29* Fifth: Fifth Friday in April
+Apr 29* 29 of every month
+Apr 29 4/29: April 29
+Apr 29 Apr. 29: April 29
+Apr 29 29 April: April 29
+ April: continued
+Apr 29* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160429.out b/regress/usr.bin/calendar/20160429.out
new file mode 100644
index 0000000..458096e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160429.out
@@ -0,0 +1,57 @@
+Apr 29* Friday-1: Last (-1) Friday
+Apr 29* Fri-1: Last (-1) Friday
+Apr 29* Friday+5: Fifth Friday
+Apr 29* Fri+5: Fifth Friday
+Apr 29* Friday+5: Fifth Friday in April
+Apr 29* Fri+5: Fifth Friday in April
+Apr 29* Fifth: Fifth Friday in April
+Apr 29* 29 of every month
+Apr 29 4/29: April 29
+Apr 29 Apr. 29: April 29
+Apr 29 29 April: April 29
+ April: continued
+Apr 29* Friday: Every Friday
+Apr 30* Saturday-1: Last (-1) Saturday
+Apr 30* Sat-1: Last (-1) Saturday
+Apr 30* Saturday+5: Fifth Saturday
+Apr 30* Sat+5: Fifth Saturday
+Apr 30* Saturday+5: Fifth Saturday in April
+Apr 30* Sat+5: Fifth Saturday in April
+Apr 30* Fifth: Fifth Saturday in April
+Apr 30* 30 of every month
+Apr 30 4/30: April 30
+Apr 30 Apr. 30: April 30
+Apr 30 30 April: April 30
+ April: continued
+Apr 30* Saturday: Every Saturday
+May 01* Sunday+1: First Sunday
+May 01* Sun+1: First Sunday
+May 01* Sunday+1: First Sunday in May
+May 01* Sun+1: First Sunday in May
+May 01* First: First Sunday in May
+May 01* Sunday+5: Fifth Sunday in April
+May 01* Sun+5: Fifth Sunday in April
+May 01* Fifth: Fifth Sunday in April
+May 01* Orthodox Easter
+May 01* 1 of every month
+May 01 5/1: May 1
+May 01 May. 1: May 1
+May 01 1 May: May 1
+ May: continued
+May 01* *: Beginning of every month
+May 01* Sunday: Every Sunday
+May 01 May: Every May 1st
+May 02* Monday+1: First Monday
+May 02* Mon+1: First Monday
+May 02* Monday+1: First Monday in May
+May 02* Mon+1: First Monday in May
+May 02* First: First Monday in May
+May 02* Monday+5: Fifth Monday in April
+May 02* Mon+5: Fifth Monday in April
+May 02* Fifth: Fifth Monday in April
+May 02* 2 of every month
+May 02 5/2: May 2
+May 02 May. 2: May 2
+May 02 2 May: May 2
+ May: continued
+May 02* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160430.out b/regress/usr.bin/calendar/20160430.out
new file mode 100644
index 0000000..5767b95
--- /dev/null
+++ b/regress/usr.bin/calendar/20160430.out
@@ -0,0 +1,30 @@
+Apr 30* Saturday-1: Last (-1) Saturday
+Apr 30* Sat-1: Last (-1) Saturday
+Apr 30* Saturday+5: Fifth Saturday
+Apr 30* Sat+5: Fifth Saturday
+Apr 30* Saturday+5: Fifth Saturday in April
+Apr 30* Sat+5: Fifth Saturday in April
+Apr 30* Fifth: Fifth Saturday in April
+Apr 30* 30 of every month
+Apr 30 4/30: April 30
+Apr 30 Apr. 30: April 30
+Apr 30 30 April: April 30
+ April: continued
+Apr 30* Saturday: Every Saturday
+May 01* Sunday+1: First Sunday
+May 01* Sun+1: First Sunday
+May 01* Sunday+1: First Sunday in May
+May 01* Sun+1: First Sunday in May
+May 01* First: First Sunday in May
+May 01* Sunday+5: Fifth Sunday in April
+May 01* Sun+5: Fifth Sunday in April
+May 01* Fifth: Fifth Sunday in April
+May 01* Orthodox Easter
+May 01* 1 of every month
+May 01 5/1: May 1
+May 01 May. 1: May 1
+May 01 1 May: May 1
+ May: continued
+May 01* *: Beginning of every month
+May 01* Sunday: Every Sunday
+May 01 May: Every May 1st
diff --git a/regress/usr.bin/calendar/20160501.out b/regress/usr.bin/calendar/20160501.out
new file mode 100644
index 0000000..3b1be4b
--- /dev/null
+++ b/regress/usr.bin/calendar/20160501.out
@@ -0,0 +1,31 @@
+May 01* Sunday+1: First Sunday
+May 01* Sun+1: First Sunday
+May 01* Sunday+1: First Sunday in May
+May 01* Sun+1: First Sunday in May
+May 01* First: First Sunday in May
+May 01* Sunday+5: Fifth Sunday in April
+May 01* Sun+5: Fifth Sunday in April
+May 01* Fifth: Fifth Sunday in April
+May 01* Orthodox Easter
+May 01* 1 of every month
+May 01 5/1: May 1
+May 01 May. 1: May 1
+May 01 1 May: May 1
+ May: continued
+May 01* *: Beginning of every month
+May 01* Sunday: Every Sunday
+May 01 May: Every May 1st
+May 02* Monday+1: First Monday
+May 02* Mon+1: First Monday
+May 02* Monday+1: First Monday in May
+May 02* Mon+1: First Monday in May
+May 02* First: First Monday in May
+May 02* Monday+5: Fifth Monday in April
+May 02* Mon+5: Fifth Monday in April
+May 02* Fifth: Fifth Monday in April
+May 02* 2 of every month
+May 02 5/2: May 2
+May 02 May. 2: May 2
+May 02 2 May: May 2
+ May: continued
+May 02* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160502.out b/regress/usr.bin/calendar/20160502.out
new file mode 100644
index 0000000..f16b308
--- /dev/null
+++ b/regress/usr.bin/calendar/20160502.out
@@ -0,0 +1,28 @@
+May 02* Monday+1: First Monday
+May 02* Mon+1: First Monday
+May 02* Monday+1: First Monday in May
+May 02* Mon+1: First Monday in May
+May 02* First: First Monday in May
+May 02* Monday+5: Fifth Monday in April
+May 02* Mon+5: Fifth Monday in April
+May 02* Fifth: Fifth Monday in April
+May 02* 2 of every month
+May 02 5/2: May 2
+May 02 May. 2: May 2
+May 02 2 May: May 2
+ May: continued
+May 02* Monday: Every Monday
+May 03* Tuesday+1: First Tuesday
+May 03* Tue+1: First Tuesday
+May 03* Tuesday+1: First Tuesday in May
+May 03* Tue+1: First Tuesday in May
+May 03* First: First Tuesday in May
+May 03* Tuesday+5: Fifth Tuesday in April
+May 03* Tue+5: Fifth Tuesday in April
+May 03* Fifth: Fifth Tuesday in April
+May 03* 3 of every month
+May 03 5/3: May 3
+May 03 May. 3: May 3
+May 03 3 May: May 3
+ May: continued
+May 03* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160503.out b/regress/usr.bin/calendar/20160503.out
new file mode 100644
index 0000000..57b5d87
--- /dev/null
+++ b/regress/usr.bin/calendar/20160503.out
@@ -0,0 +1,30 @@
+May 03* Tuesday+1: First Tuesday
+May 03* Tue+1: First Tuesday
+May 03* Tuesday+1: First Tuesday in May
+May 03* Tue+1: First Tuesday in May
+May 03* First: First Tuesday in May
+May 03* Tuesday+5: Fifth Tuesday in April
+May 03* Tue+5: Fifth Tuesday in April
+May 03* Fifth: Fifth Tuesday in April
+May 03* 3 of every month
+May 03 5/3: May 3
+May 03 May. 3: May 3
+May 03 3 May: May 3
+ May: continued
+May 03* Tuesday: Every Tuesday
+May 04* Wednesday+1: First Wednesday
+May 04* Wed+1: First Wednesday
+May 04* Wednesday+1: First Wednesday in May
+May 04* Wed+1: First Wednesday in May
+May 04* First: First Wednesday in May
+May 04* Wednesday-4: Last (-4) Wednesday
+May 04* Wed-4: Last (-4) Wednesday
+May 04* Wednesday+5: Fifth Wednesday in April
+May 04* Wed+5: Fifth Wednesday in April
+May 04* Fifth: Fifth Wednesday in April
+May 04* 4 of every month
+May 04 5/4: May 4
+May 04 May. 4: May 4
+May 04 4 May: May 4
+ May: continued
+May 04* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160504.out b/regress/usr.bin/calendar/20160504.out
new file mode 100644
index 0000000..227ec6e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160504.out
@@ -0,0 +1,32 @@
+May 04* Wednesday+1: First Wednesday
+May 04* Wed+1: First Wednesday
+May 04* Wednesday+1: First Wednesday in May
+May 04* Wed+1: First Wednesday in May
+May 04* First: First Wednesday in May
+May 04* Wednesday-4: Last (-4) Wednesday
+May 04* Wed-4: Last (-4) Wednesday
+May 04* Wednesday+5: Fifth Wednesday in April
+May 04* Wed+5: Fifth Wednesday in April
+May 04* Fifth: Fifth Wednesday in April
+May 04* 4 of every month
+May 04 5/4: May 4
+May 04 May. 4: May 4
+May 04 4 May: May 4
+ May: continued
+May 04* Wednesday: Every Wednesday
+May 05* Thursday+1: First Thursday
+May 05* Thu+1: First Thursday
+May 05* Thursday+1: First Thursday in May
+May 05* Thu+1: First Thursday in May
+May 05* First: First Thursday in May
+May 05* Thursday-4: Last (-4) Thursday
+May 05* Thu-4: Last (-4) Thursday
+May 05* Thursday+5: Fifth Thursday in April
+May 05* Thu+5: Fifth Thursday in April
+May 05* Fifth: Fifth Thursday in April
+May 05* 5 of every month
+May 05 5/5: May 5
+May 05 May. 5: May 5
+May 05 5 May: May 5
+ May: continued
+May 05* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160505.out b/regress/usr.bin/calendar/20160505.out
new file mode 100644
index 0000000..964a1a9
--- /dev/null
+++ b/regress/usr.bin/calendar/20160505.out
@@ -0,0 +1,29 @@
+May 05* Thursday+1: First Thursday
+May 05* Thu+1: First Thursday
+May 05* Thursday+1: First Thursday in May
+May 05* Thu+1: First Thursday in May
+May 05* First: First Thursday in May
+May 05* Thursday-4: Last (-4) Thursday
+May 05* Thu-4: Last (-4) Thursday
+May 05* Thursday+5: Fifth Thursday in April
+May 05* Thu+5: Fifth Thursday in April
+May 05* Fifth: Fifth Thursday in April
+May 05* 5 of every month
+May 05 5/5: May 5
+May 05 May. 5: May 5
+May 05 5 May: May 5
+ May: continued
+May 05* Thursday: Every Thursday
+May 06* Friday+1: First Friday
+May 06* Fri+1: First Friday
+May 06* Friday+1: First Friday in May
+May 06* Fri+1: First Friday in May
+May 06* First: First Friday in May
+May 06* Friday-4: Last (-4) Friday
+May 06* Fri-4: Last (-4) Friday
+May 06* 6 of every month
+May 06 5/6: May 6
+May 06 May. 6: May 6
+May 06 6 May: May 6
+ May: continued
+May 06* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160506.out b/regress/usr.bin/calendar/20160506.out
new file mode 100644
index 0000000..3e3ad31
--- /dev/null
+++ b/regress/usr.bin/calendar/20160506.out
@@ -0,0 +1,52 @@
+May 06* Friday+1: First Friday
+May 06* Fri+1: First Friday
+May 06* Friday+1: First Friday in May
+May 06* Fri+1: First Friday in May
+May 06* First: First Friday in May
+May 06* Friday-4: Last (-4) Friday
+May 06* Fri-4: Last (-4) Friday
+May 06* 6 of every month
+May 06 5/6: May 6
+May 06 May. 6: May 6
+May 06 6 May: May 6
+ May: continued
+May 06* Friday: Every Friday
+May 07* Saturday+1: First Saturday
+May 07* Sat+1: First Saturday
+May 07* Saturday+1: First Saturday in May
+May 07* Sat+1: First Saturday in May
+May 07* First: First Saturday in May
+May 07* Saturday-4: Last (-4) Saturday
+May 07* Sat-4: Last (-4) Saturday
+May 07* 7 of every month
+May 07 5/7: May 7
+May 07 May. 7: May 7
+May 07 7 May: May 7
+ May: continued
+May 07* Saturday: Every Saturday
+May 08* Sunday+2: Second Sunday
+May 08* Sun+2: Second Sunday
+May 08* Sunday+2: Second Sunday in May
+May 08* Sun+2: Second Sunday in May
+May 08* Second: Second Sunday in May
+May 08* Sunday-4: Last (-4) Sunday
+May 08* Sun-4: Last (-4) Sunday
+May 08* 8 of every month
+May 08 5/8: May 8
+May 08 May. 8: May 8
+May 08 8 May: May 8
+ May: continued
+May 08* Sunday: Every Sunday
+May 09* Monday+2: Second Monday
+May 09* Mon+2: Second Monday
+May 09* Monday+2: Second Monday in May
+May 09* Mon+2: Second Monday in May
+May 09* Second: Second Monday in May
+May 09* Monday-4: Last (-4) Monday
+May 09* Mon-4: Last (-4) Monday
+May 09* 9 of every month
+May 09 5/9: May 9
+May 09 May. 9: May 9
+May 09 9 May: May 9
+ May: continued
+May 09* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160507.out b/regress/usr.bin/calendar/20160507.out
new file mode 100644
index 0000000..94fc2ec
--- /dev/null
+++ b/regress/usr.bin/calendar/20160507.out
@@ -0,0 +1,26 @@
+May 07* Saturday+1: First Saturday
+May 07* Sat+1: First Saturday
+May 07* Saturday+1: First Saturday in May
+May 07* Sat+1: First Saturday in May
+May 07* First: First Saturday in May
+May 07* Saturday-4: Last (-4) Saturday
+May 07* Sat-4: Last (-4) Saturday
+May 07* 7 of every month
+May 07 5/7: May 7
+May 07 May. 7: May 7
+May 07 7 May: May 7
+ May: continued
+May 07* Saturday: Every Saturday
+May 08* Sunday+2: Second Sunday
+May 08* Sun+2: Second Sunday
+May 08* Sunday+2: Second Sunday in May
+May 08* Sun+2: Second Sunday in May
+May 08* Second: Second Sunday in May
+May 08* Sunday-4: Last (-4) Sunday
+May 08* Sun-4: Last (-4) Sunday
+May 08* 8 of every month
+May 08 5/8: May 8
+May 08 May. 8: May 8
+May 08 8 May: May 8
+ May: continued
+May 08* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160508.out b/regress/usr.bin/calendar/20160508.out
new file mode 100644
index 0000000..1b1d817
--- /dev/null
+++ b/regress/usr.bin/calendar/20160508.out
@@ -0,0 +1,26 @@
+May 08* Sunday+2: Second Sunday
+May 08* Sun+2: Second Sunday
+May 08* Sunday+2: Second Sunday in May
+May 08* Sun+2: Second Sunday in May
+May 08* Second: Second Sunday in May
+May 08* Sunday-4: Last (-4) Sunday
+May 08* Sun-4: Last (-4) Sunday
+May 08* 8 of every month
+May 08 5/8: May 8
+May 08 May. 8: May 8
+May 08 8 May: May 8
+ May: continued
+May 08* Sunday: Every Sunday
+May 09* Monday+2: Second Monday
+May 09* Mon+2: Second Monday
+May 09* Monday+2: Second Monday in May
+May 09* Mon+2: Second Monday in May
+May 09* Second: Second Monday in May
+May 09* Monday-4: Last (-4) Monday
+May 09* Mon-4: Last (-4) Monday
+May 09* 9 of every month
+May 09 5/9: May 9
+May 09 May. 9: May 9
+May 09 9 May: May 9
+ May: continued
+May 09* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160509.out b/regress/usr.bin/calendar/20160509.out
new file mode 100644
index 0000000..df6b91c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160509.out
@@ -0,0 +1,26 @@
+May 09* Monday+2: Second Monday
+May 09* Mon+2: Second Monday
+May 09* Monday+2: Second Monday in May
+May 09* Mon+2: Second Monday in May
+May 09* Second: Second Monday in May
+May 09* Monday-4: Last (-4) Monday
+May 09* Mon-4: Last (-4) Monday
+May 09* 9 of every month
+May 09 5/9: May 9
+May 09 May. 9: May 9
+May 09 9 May: May 9
+ May: continued
+May 09* Monday: Every Monday
+May 10* Tuesday+2: Second Tuesday
+May 10* Tue+2: Second Tuesday
+May 10* Tuesday+2: Second Tuesday in May
+May 10* Tue+2: Second Tuesday in May
+May 10* Second: Second Tuesday in May
+May 10* Tuesday-4: Last (-4) Tuesday
+May 10* Tue-4: Last (-4) Tuesday
+May 10* 10 of every month
+May 10 5/10: May 10
+May 10 May. 10: May 10
+May 10 10 May: May 10
+ May: continued
+May 10* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160510.out b/regress/usr.bin/calendar/20160510.out
new file mode 100644
index 0000000..33ba029
--- /dev/null
+++ b/regress/usr.bin/calendar/20160510.out
@@ -0,0 +1,26 @@
+May 10* Tuesday+2: Second Tuesday
+May 10* Tue+2: Second Tuesday
+May 10* Tuesday+2: Second Tuesday in May
+May 10* Tue+2: Second Tuesday in May
+May 10* Second: Second Tuesday in May
+May 10* Tuesday-4: Last (-4) Tuesday
+May 10* Tue-4: Last (-4) Tuesday
+May 10* 10 of every month
+May 10 5/10: May 10
+May 10 May. 10: May 10
+May 10 10 May: May 10
+ May: continued
+May 10* Tuesday: Every Tuesday
+May 11* Wednesday+2: Second Wednesday
+May 11* Wed+2: Second Wednesday
+May 11* Wednesday+2: Second Wednesday in May
+May 11* Wed+2: Second Wednesday in May
+May 11* Second: Second Wednesday in May
+May 11* Wednesday-3: Last (-3) Wednesday
+May 11* Wed-3: Last (-3) Wednesday
+May 11* 11 of every month
+May 11 5/11: May 11
+May 11 May. 11: May 11
+May 11 11 May: May 11
+ May: continued
+May 11* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160511.out b/regress/usr.bin/calendar/20160511.out
new file mode 100644
index 0000000..82514f1
--- /dev/null
+++ b/regress/usr.bin/calendar/20160511.out
@@ -0,0 +1,26 @@
+May 11* Wednesday+2: Second Wednesday
+May 11* Wed+2: Second Wednesday
+May 11* Wednesday+2: Second Wednesday in May
+May 11* Wed+2: Second Wednesday in May
+May 11* Second: Second Wednesday in May
+May 11* Wednesday-3: Last (-3) Wednesday
+May 11* Wed-3: Last (-3) Wednesday
+May 11* 11 of every month
+May 11 5/11: May 11
+May 11 May. 11: May 11
+May 11 11 May: May 11
+ May: continued
+May 11* Wednesday: Every Wednesday
+May 12* Thursday+2: Second Thursday
+May 12* Thu+2: Second Thursday
+May 12* Thursday+2: Second Thursday in May
+May 12* Thu+2: Second Thursday in May
+May 12* Second: Second Thursday in May
+May 12* Thursday-3: Last (-3) Thursday
+May 12* Thu-3: Last (-3) Thursday
+May 12* 12 of every month
+May 12 5/12: May 12
+May 12 May. 12: May 12
+May 12 12 May: May 12
+ May: continued
+May 12* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160512.out b/regress/usr.bin/calendar/20160512.out
new file mode 100644
index 0000000..98c5866
--- /dev/null
+++ b/regress/usr.bin/calendar/20160512.out
@@ -0,0 +1,26 @@
+May 12* Thursday+2: Second Thursday
+May 12* Thu+2: Second Thursday
+May 12* Thursday+2: Second Thursday in May
+May 12* Thu+2: Second Thursday in May
+May 12* Second: Second Thursday in May
+May 12* Thursday-3: Last (-3) Thursday
+May 12* Thu-3: Last (-3) Thursday
+May 12* 12 of every month
+May 12 5/12: May 12
+May 12 May. 12: May 12
+May 12 12 May: May 12
+ May: continued
+May 12* Thursday: Every Thursday
+May 13* Friday+2: Second Friday
+May 13* Fri+2: Second Friday
+May 13* Friday+2: Second Friday in May
+May 13* Fri+2: Second Friday in May
+May 13* Second: Second Friday in May
+May 13* Friday-3: Last (-3) Friday
+May 13* Fri-3: Last (-3) Friday
+May 13* 13 of every month
+May 13 5/13: May 13
+May 13 May. 13: May 13
+May 13 13 May: May 13
+ May: continued
+May 13* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160513.out b/regress/usr.bin/calendar/20160513.out
new file mode 100644
index 0000000..b32829a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160513.out
@@ -0,0 +1,52 @@
+May 13* Friday+2: Second Friday
+May 13* Fri+2: Second Friday
+May 13* Friday+2: Second Friday in May
+May 13* Fri+2: Second Friday in May
+May 13* Second: Second Friday in May
+May 13* Friday-3: Last (-3) Friday
+May 13* Fri-3: Last (-3) Friday
+May 13* 13 of every month
+May 13 5/13: May 13
+May 13 May. 13: May 13
+May 13 13 May: May 13
+ May: continued
+May 13* Friday: Every Friday
+May 14* Saturday+2: Second Saturday
+May 14* Sat+2: Second Saturday
+May 14* Saturday+2: Second Saturday in May
+May 14* Sat+2: Second Saturday in May
+May 14* Second: Second Saturday in May
+May 14* Saturday-3: Last (-3) Saturday
+May 14* Sat-3: Last (-3) Saturday
+May 14* 14 of every month
+May 14 5/14: May 14
+May 14 May. 14: May 14
+May 14 14 May: May 14
+ May: continued
+May 14* Saturday: Every Saturday
+May 15* Sunday+3: Third Sunday
+May 15* Sun+3: Third Sunday
+May 15* Sunday-3: Last (-3) Sunday
+May 15* Sun-3: Last (-3) Sunday
+May 15* Sunday+3: Third Sunday in May
+May 15* Sun+3: Third Sunday in May
+May 15* Third: Third Sunday in May
+May 15* 15 of every month
+May 15 5/15: May 15
+May 15 May. 15: May 15
+May 15 15 May: May 15
+ May: continued
+May 15* Sunday: Every Sunday
+May 16* Monday+3: Third Monday
+May 16* Mon+3: Third Monday
+May 16* Monday-3: Last (-3) Monday
+May 16* Mon-3: Last (-3) Monday
+May 16* Monday+3: Third Monday in May
+May 16* Mon+3: Third Monday in May
+May 16* Third: Third Monday in May
+May 16* 16 of every month
+May 16 5/16: May 16
+May 16 May. 16: May 16
+May 16 16 May: May 16
+ May: continued
+May 16* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160514.out b/regress/usr.bin/calendar/20160514.out
new file mode 100644
index 0000000..4ed7e8c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160514.out
@@ -0,0 +1,26 @@
+May 14* Saturday+2: Second Saturday
+May 14* Sat+2: Second Saturday
+May 14* Saturday+2: Second Saturday in May
+May 14* Sat+2: Second Saturday in May
+May 14* Second: Second Saturday in May
+May 14* Saturday-3: Last (-3) Saturday
+May 14* Sat-3: Last (-3) Saturday
+May 14* 14 of every month
+May 14 5/14: May 14
+May 14 May. 14: May 14
+May 14 14 May: May 14
+ May: continued
+May 14* Saturday: Every Saturday
+May 15* Sunday+3: Third Sunday
+May 15* Sun+3: Third Sunday
+May 15* Sunday-3: Last (-3) Sunday
+May 15* Sun-3: Last (-3) Sunday
+May 15* Sunday+3: Third Sunday in May
+May 15* Sun+3: Third Sunday in May
+May 15* Third: Third Sunday in May
+May 15* 15 of every month
+May 15 5/15: May 15
+May 15 May. 15: May 15
+May 15 15 May: May 15
+ May: continued
+May 15* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160515.out b/regress/usr.bin/calendar/20160515.out
new file mode 100644
index 0000000..cce1791
--- /dev/null
+++ b/regress/usr.bin/calendar/20160515.out
@@ -0,0 +1,26 @@
+May 15* Sunday+3: Third Sunday
+May 15* Sun+3: Third Sunday
+May 15* Sunday-3: Last (-3) Sunday
+May 15* Sun-3: Last (-3) Sunday
+May 15* Sunday+3: Third Sunday in May
+May 15* Sun+3: Third Sunday in May
+May 15* Third: Third Sunday in May
+May 15* 15 of every month
+May 15 5/15: May 15
+May 15 May. 15: May 15
+May 15 15 May: May 15
+ May: continued
+May 15* Sunday: Every Sunday
+May 16* Monday+3: Third Monday
+May 16* Mon+3: Third Monday
+May 16* Monday-3: Last (-3) Monday
+May 16* Mon-3: Last (-3) Monday
+May 16* Monday+3: Third Monday in May
+May 16* Mon+3: Third Monday in May
+May 16* Third: Third Monday in May
+May 16* 16 of every month
+May 16 5/16: May 16
+May 16 May. 16: May 16
+May 16 16 May: May 16
+ May: continued
+May 16* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160516.out b/regress/usr.bin/calendar/20160516.out
new file mode 100644
index 0000000..bb1adaf
--- /dev/null
+++ b/regress/usr.bin/calendar/20160516.out
@@ -0,0 +1,26 @@
+May 16* Monday+3: Third Monday
+May 16* Mon+3: Third Monday
+May 16* Monday-3: Last (-3) Monday
+May 16* Mon-3: Last (-3) Monday
+May 16* Monday+3: Third Monday in May
+May 16* Mon+3: Third Monday in May
+May 16* Third: Third Monday in May
+May 16* 16 of every month
+May 16 5/16: May 16
+May 16 May. 16: May 16
+May 16 16 May: May 16
+ May: continued
+May 16* Monday: Every Monday
+May 17* Tuesday+3: Third Tuesday
+May 17* Tue+3: Third Tuesday
+May 17* Tuesday-3: Last (-3) Tuesday
+May 17* Tue-3: Last (-3) Tuesday
+May 17* Tuesday+3: Third Tuesday in May
+May 17* Tue+3: Third Tuesday in May
+May 17* Third: Third Tuesday in May
+May 17* 17 of every month
+May 17 5/17: May 17
+May 17 May. 17: May 17
+May 17 17 May: May 17
+ May: continued
+May 17* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160517.out b/regress/usr.bin/calendar/20160517.out
new file mode 100644
index 0000000..9921641
--- /dev/null
+++ b/regress/usr.bin/calendar/20160517.out
@@ -0,0 +1,26 @@
+May 17* Tuesday+3: Third Tuesday
+May 17* Tue+3: Third Tuesday
+May 17* Tuesday-3: Last (-3) Tuesday
+May 17* Tue-3: Last (-3) Tuesday
+May 17* Tuesday+3: Third Tuesday in May
+May 17* Tue+3: Third Tuesday in May
+May 17* Third: Third Tuesday in May
+May 17* 17 of every month
+May 17 5/17: May 17
+May 17 May. 17: May 17
+May 17 17 May: May 17
+ May: continued
+May 17* Tuesday: Every Tuesday
+May 18* Wednesday-2: Last (-2) Wednesday
+May 18* Wed-2: Last (-2) Wednesday
+May 18* Wednesday+3: Third Wednesday
+May 18* Wed+3: Third Wednesday
+May 18* Wednesday+3: Third Wednesday in May
+May 18* Wed+3: Third Wednesday in May
+May 18* Third: Third Wednesday in May
+May 18* 18 of every month
+May 18 5/18: May 18
+May 18 May. 18: May 18
+May 18 18 May: May 18
+ May: continued
+May 18* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160518.out b/regress/usr.bin/calendar/20160518.out
new file mode 100644
index 0000000..17502e0
--- /dev/null
+++ b/regress/usr.bin/calendar/20160518.out
@@ -0,0 +1,26 @@
+May 18* Wednesday-2: Last (-2) Wednesday
+May 18* Wed-2: Last (-2) Wednesday
+May 18* Wednesday+3: Third Wednesday
+May 18* Wed+3: Third Wednesday
+May 18* Wednesday+3: Third Wednesday in May
+May 18* Wed+3: Third Wednesday in May
+May 18* Third: Third Wednesday in May
+May 18* 18 of every month
+May 18 5/18: May 18
+May 18 May. 18: May 18
+May 18 18 May: May 18
+ May: continued
+May 18* Wednesday: Every Wednesday
+May 19* Thursday-2: Last (-2) Thursday
+May 19* Thu-2: Last (-2) Thursday
+May 19* Thursday+3: Third Thursday
+May 19* Thu+3: Third Thursday
+May 19* Thursday+3: Third Thursday in May
+May 19* Thu+3: Third Thursday in May
+May 19* Third: Third Thursday in May
+May 19* 19 of every month
+May 19 5/19: May 19
+May 19 May. 19: May 19
+May 19 19 May: May 19
+ May: continued
+May 19* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160519.out b/regress/usr.bin/calendar/20160519.out
new file mode 100644
index 0000000..e1c0c0c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160519.out
@@ -0,0 +1,26 @@
+May 19* Thursday-2: Last (-2) Thursday
+May 19* Thu-2: Last (-2) Thursday
+May 19* Thursday+3: Third Thursday
+May 19* Thu+3: Third Thursday
+May 19* Thursday+3: Third Thursday in May
+May 19* Thu+3: Third Thursday in May
+May 19* Third: Third Thursday in May
+May 19* 19 of every month
+May 19 5/19: May 19
+May 19 May. 19: May 19
+May 19 19 May: May 19
+ May: continued
+May 19* Thursday: Every Thursday
+May 20* Friday-2: Last (-2) Friday
+May 20* Fri-2: Last (-2) Friday
+May 20* Friday+3: Third Friday
+May 20* Fri+3: Third Friday
+May 20* Friday+3: Third Friday in May
+May 20* Fri+3: Third Friday in May
+May 20* Third: Third Friday in May
+May 20* 20 of every month
+May 20 5/20: May 20
+May 20 May. 20: May 20
+May 20 20 May: May 20
+ May: continued
+May 20* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160520.out b/regress/usr.bin/calendar/20160520.out
new file mode 100644
index 0000000..73eb8e1
--- /dev/null
+++ b/regress/usr.bin/calendar/20160520.out
@@ -0,0 +1,52 @@
+May 20* Friday-2: Last (-2) Friday
+May 20* Fri-2: Last (-2) Friday
+May 20* Friday+3: Third Friday
+May 20* Fri+3: Third Friday
+May 20* Friday+3: Third Friday in May
+May 20* Fri+3: Third Friday in May
+May 20* Third: Third Friday in May
+May 20* 20 of every month
+May 20 5/20: May 20
+May 20 May. 20: May 20
+May 20 20 May: May 20
+ May: continued
+May 20* Friday: Every Friday
+May 21* Saturday-2: Last (-2) Saturday
+May 21* Sat-2: Last (-2) Saturday
+May 21* Saturday+3: Third Saturday
+May 21* Sat+3: Third Saturday
+May 21* Saturday+3: Third Saturday in May
+May 21* Sat+3: Third Saturday in May
+May 21* Third: Third Saturday in May
+May 21* 21 of every month
+May 21 5/21: May 21
+May 21 May. 21: May 21
+May 21 21 May: May 21
+ May: continued
+May 21* Saturday: Every Saturday
+May 22* Sunday-2: Last (-2) Sunday
+May 22* Sun-2: Last (-2) Sunday
+May 22* Sunday+4: Fourth Sunday
+May 22* Sun+4: Fourth Sunday
+May 22* Sunday+4: Fourth Sunday in May
+May 22* Sun+4: Fourth Sunday in May
+May 22* Fourth: Fourth Sunday in May
+May 22* 22 of every month
+May 22 5/22: May 22
+May 22 May. 22: May 22
+May 22 22 May: May 22
+ May: continued
+May 22* Sunday: Every Sunday
+May 23* Monday-2: Last (-2) Monday
+May 23* Mon-2: Last (-2) Monday
+May 23* Monday+4: Fourth Monday
+May 23* Mon+4: Fourth Monday
+May 23* Monday+4: Fourth Monday in May
+May 23* Mon+4: Fourth Monday in May
+May 23* Fourth: Fourth Monday in May
+May 23* 23 of every month
+May 23 5/23: May 23
+May 23 May. 23: May 23
+May 23 23 May: May 23
+ May: continued
+May 23* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160521.out b/regress/usr.bin/calendar/20160521.out
new file mode 100644
index 0000000..03c263e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160521.out
@@ -0,0 +1,26 @@
+May 21* Saturday-2: Last (-2) Saturday
+May 21* Sat-2: Last (-2) Saturday
+May 21* Saturday+3: Third Saturday
+May 21* Sat+3: Third Saturday
+May 21* Saturday+3: Third Saturday in May
+May 21* Sat+3: Third Saturday in May
+May 21* Third: Third Saturday in May
+May 21* 21 of every month
+May 21 5/21: May 21
+May 21 May. 21: May 21
+May 21 21 May: May 21
+ May: continued
+May 21* Saturday: Every Saturday
+May 22* Sunday-2: Last (-2) Sunday
+May 22* Sun-2: Last (-2) Sunday
+May 22* Sunday+4: Fourth Sunday
+May 22* Sun+4: Fourth Sunday
+May 22* Sunday+4: Fourth Sunday in May
+May 22* Sun+4: Fourth Sunday in May
+May 22* Fourth: Fourth Sunday in May
+May 22* 22 of every month
+May 22 5/22: May 22
+May 22 May. 22: May 22
+May 22 22 May: May 22
+ May: continued
+May 22* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160522.out b/regress/usr.bin/calendar/20160522.out
new file mode 100644
index 0000000..e02b40e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160522.out
@@ -0,0 +1,26 @@
+May 22* Sunday-2: Last (-2) Sunday
+May 22* Sun-2: Last (-2) Sunday
+May 22* Sunday+4: Fourth Sunday
+May 22* Sun+4: Fourth Sunday
+May 22* Sunday+4: Fourth Sunday in May
+May 22* Sun+4: Fourth Sunday in May
+May 22* Fourth: Fourth Sunday in May
+May 22* 22 of every month
+May 22 5/22: May 22
+May 22 May. 22: May 22
+May 22 22 May: May 22
+ May: continued
+May 22* Sunday: Every Sunday
+May 23* Monday-2: Last (-2) Monday
+May 23* Mon-2: Last (-2) Monday
+May 23* Monday+4: Fourth Monday
+May 23* Mon+4: Fourth Monday
+May 23* Monday+4: Fourth Monday in May
+May 23* Mon+4: Fourth Monday in May
+May 23* Fourth: Fourth Monday in May
+May 23* 23 of every month
+May 23 5/23: May 23
+May 23 May. 23: May 23
+May 23 23 May: May 23
+ May: continued
+May 23* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160523.out b/regress/usr.bin/calendar/20160523.out
new file mode 100644
index 0000000..21c9b2c
--- /dev/null
+++ b/regress/usr.bin/calendar/20160523.out
@@ -0,0 +1,26 @@
+May 23* Monday-2: Last (-2) Monday
+May 23* Mon-2: Last (-2) Monday
+May 23* Monday+4: Fourth Monday
+May 23* Mon+4: Fourth Monday
+May 23* Monday+4: Fourth Monday in May
+May 23* Mon+4: Fourth Monday in May
+May 23* Fourth: Fourth Monday in May
+May 23* 23 of every month
+May 23 5/23: May 23
+May 23 May. 23: May 23
+May 23 23 May: May 23
+ May: continued
+May 23* Monday: Every Monday
+May 24* Tuesday-2: Last (-2) Tuesday
+May 24* Tue-2: Last (-2) Tuesday
+May 24* Tuesday+4: Fourth Tuesday
+May 24* Tue+4: Fourth Tuesday
+May 24* Tuesday+4: Fourth Tuesday in May
+May 24* Tue+4: Fourth Tuesday in May
+May 24* Fourth: Fourth Tuesday in May
+May 24* 24 of every month
+May 24 5/24: May 24
+May 24 May. 24: May 24
+May 24 24 May: May 24
+ May: continued
+May 24* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160524.out b/regress/usr.bin/calendar/20160524.out
new file mode 100644
index 0000000..53cf50d
--- /dev/null
+++ b/regress/usr.bin/calendar/20160524.out
@@ -0,0 +1,26 @@
+May 24* Tuesday-2: Last (-2) Tuesday
+May 24* Tue-2: Last (-2) Tuesday
+May 24* Tuesday+4: Fourth Tuesday
+May 24* Tue+4: Fourth Tuesday
+May 24* Tuesday+4: Fourth Tuesday in May
+May 24* Tue+4: Fourth Tuesday in May
+May 24* Fourth: Fourth Tuesday in May
+May 24* 24 of every month
+May 24 5/24: May 24
+May 24 May. 24: May 24
+May 24 24 May: May 24
+ May: continued
+May 24* Tuesday: Every Tuesday
+May 25* Wednesday-1: Last (-1) Wednesday
+May 25* Wed-1: Last (-1) Wednesday
+May 25* Wednesday+4: Fourth Wednesday
+May 25* Wed+4: Fourth Wednesday
+May 25* Wednesday+4: Fourth Wednesday in May
+May 25* Wed+4: Fourth Wednesday in May
+May 25* Fourth: Fourth Wednesday in May
+May 25* 25 of every month
+May 25 5/25: May 25
+May 25 May. 25: May 25
+May 25 25 May: May 25
+ May: continued
+May 25* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160525.out b/regress/usr.bin/calendar/20160525.out
new file mode 100644
index 0000000..67e1011
--- /dev/null
+++ b/regress/usr.bin/calendar/20160525.out
@@ -0,0 +1,26 @@
+May 25* Wednesday-1: Last (-1) Wednesday
+May 25* Wed-1: Last (-1) Wednesday
+May 25* Wednesday+4: Fourth Wednesday
+May 25* Wed+4: Fourth Wednesday
+May 25* Wednesday+4: Fourth Wednesday in May
+May 25* Wed+4: Fourth Wednesday in May
+May 25* Fourth: Fourth Wednesday in May
+May 25* 25 of every month
+May 25 5/25: May 25
+May 25 May. 25: May 25
+May 25 25 May: May 25
+ May: continued
+May 25* Wednesday: Every Wednesday
+May 26* Thursday-1: Last (-1) Thursday
+May 26* Thu-1: Last (-1) Thursday
+May 26* Thursday+4: Fourth Thursday
+May 26* Thu+4: Fourth Thursday
+May 26* Thursday+4: Fourth Thursday in May
+May 26* Thu+4: Fourth Thursday in May
+May 26* Fourth: Fourth Thursday in May
+May 26* 26 of every month
+May 26 5/26: May 26
+May 26 May. 26: May 26
+May 26 26 May: May 26
+ May: continued
+May 26* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160526.out b/regress/usr.bin/calendar/20160526.out
new file mode 100644
index 0000000..cb9daa8
--- /dev/null
+++ b/regress/usr.bin/calendar/20160526.out
@@ -0,0 +1,26 @@
+May 26* Thursday-1: Last (-1) Thursday
+May 26* Thu-1: Last (-1) Thursday
+May 26* Thursday+4: Fourth Thursday
+May 26* Thu+4: Fourth Thursday
+May 26* Thursday+4: Fourth Thursday in May
+May 26* Thu+4: Fourth Thursday in May
+May 26* Fourth: Fourth Thursday in May
+May 26* 26 of every month
+May 26 5/26: May 26
+May 26 May. 26: May 26
+May 26 26 May: May 26
+ May: continued
+May 26* Thursday: Every Thursday
+May 27* Friday-1: Last (-1) Friday
+May 27* Fri-1: Last (-1) Friday
+May 27* Friday+4: Fourth Friday
+May 27* Fri+4: Fourth Friday
+May 27* Friday+4: Fourth Friday in May
+May 27* Fri+4: Fourth Friday in May
+May 27* Fourth: Fourth Friday in May
+May 27* 27 of every month
+May 27 5/27: May 27
+May 27 May. 27: May 27
+May 27 27 May: May 27
+ May: continued
+May 27* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160527.out b/regress/usr.bin/calendar/20160527.out
new file mode 100644
index 0000000..d56b3ce
--- /dev/null
+++ b/regress/usr.bin/calendar/20160527.out
@@ -0,0 +1,52 @@
+May 27* Friday-1: Last (-1) Friday
+May 27* Fri-1: Last (-1) Friday
+May 27* Friday+4: Fourth Friday
+May 27* Fri+4: Fourth Friday
+May 27* Friday+4: Fourth Friday in May
+May 27* Fri+4: Fourth Friday in May
+May 27* Fourth: Fourth Friday in May
+May 27* 27 of every month
+May 27 5/27: May 27
+May 27 May. 27: May 27
+May 27 27 May: May 27
+ May: continued
+May 27* Friday: Every Friday
+May 28* Saturday-1: Last (-1) Saturday
+May 28* Sat-1: Last (-1) Saturday
+May 28* Saturday+4: Fourth Saturday
+May 28* Sat+4: Fourth Saturday
+May 28* Saturday+4: Fourth Saturday in May
+May 28* Sat+4: Fourth Saturday in May
+May 28* Fourth: Fourth Saturday in May
+May 28* 28 of every month
+May 28 5/28: May 28
+May 28 May. 28: May 28
+May 28 28 May: May 28
+ May: continued
+May 28* Saturday: Every Saturday
+May 29* Sunday-1: Last (-1) Sunday
+May 29* Sun-1: Last (-1) Sunday
+May 29* Sunday+5: Fifth Sunday
+May 29* Sun+5: Fifth Sunday
+May 29* Sunday+5: Fifth Sunday in May
+May 29* Sun+5: Fifth Sunday in May
+May 29* Fifth: Fifth Sunday in May
+May 29* 29 of every month
+May 29 5/29: May 29
+May 29 May. 29: May 29
+May 29 29 May: May 29
+ May: continued
+May 29* Sunday: Every Sunday
+May 30* Monday-1: Last (-1) Monday
+May 30* Mon-1: Last (-1) Monday
+May 30* Monday+5: Fifth Monday
+May 30* Mon+5: Fifth Monday
+May 30* Monday+5: Fifth Monday in May
+May 30* Mon+5: Fifth Monday in May
+May 30* Fifth: Fifth Monday in May
+May 30* 30 of every month
+May 30 5/30: May 30
+May 30 May. 30: May 30
+May 30 30 May: May 30
+ May: continued
+May 30* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160528.out b/regress/usr.bin/calendar/20160528.out
new file mode 100644
index 0000000..aabd6c0
--- /dev/null
+++ b/regress/usr.bin/calendar/20160528.out
@@ -0,0 +1,26 @@
+May 28* Saturday-1: Last (-1) Saturday
+May 28* Sat-1: Last (-1) Saturday
+May 28* Saturday+4: Fourth Saturday
+May 28* Sat+4: Fourth Saturday
+May 28* Saturday+4: Fourth Saturday in May
+May 28* Sat+4: Fourth Saturday in May
+May 28* Fourth: Fourth Saturday in May
+May 28* 28 of every month
+May 28 5/28: May 28
+May 28 May. 28: May 28
+May 28 28 May: May 28
+ May: continued
+May 28* Saturday: Every Saturday
+May 29* Sunday-1: Last (-1) Sunday
+May 29* Sun-1: Last (-1) Sunday
+May 29* Sunday+5: Fifth Sunday
+May 29* Sun+5: Fifth Sunday
+May 29* Sunday+5: Fifth Sunday in May
+May 29* Sun+5: Fifth Sunday in May
+May 29* Fifth: Fifth Sunday in May
+May 29* 29 of every month
+May 29 5/29: May 29
+May 29 May. 29: May 29
+May 29 29 May: May 29
+ May: continued
+May 29* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160529.out b/regress/usr.bin/calendar/20160529.out
new file mode 100644
index 0000000..cfd1908
--- /dev/null
+++ b/regress/usr.bin/calendar/20160529.out
@@ -0,0 +1,26 @@
+May 29* Sunday-1: Last (-1) Sunday
+May 29* Sun-1: Last (-1) Sunday
+May 29* Sunday+5: Fifth Sunday
+May 29* Sun+5: Fifth Sunday
+May 29* Sunday+5: Fifth Sunday in May
+May 29* Sun+5: Fifth Sunday in May
+May 29* Fifth: Fifth Sunday in May
+May 29* 29 of every month
+May 29 5/29: May 29
+May 29 May. 29: May 29
+May 29 29 May: May 29
+ May: continued
+May 29* Sunday: Every Sunday
+May 30* Monday-1: Last (-1) Monday
+May 30* Mon-1: Last (-1) Monday
+May 30* Monday+5: Fifth Monday
+May 30* Mon+5: Fifth Monday
+May 30* Monday+5: Fifth Monday in May
+May 30* Mon+5: Fifth Monday in May
+May 30* Fifth: Fifth Monday in May
+May 30* 30 of every month
+May 30 5/30: May 30
+May 30 May. 30: May 30
+May 30 30 May: May 30
+ May: continued
+May 30* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160530.out b/regress/usr.bin/calendar/20160530.out
new file mode 100644
index 0000000..76b4ddd
--- /dev/null
+++ b/regress/usr.bin/calendar/20160530.out
@@ -0,0 +1,26 @@
+May 30* Monday-1: Last (-1) Monday
+May 30* Mon-1: Last (-1) Monday
+May 30* Monday+5: Fifth Monday
+May 30* Mon+5: Fifth Monday
+May 30* Monday+5: Fifth Monday in May
+May 30* Mon+5: Fifth Monday in May
+May 30* Fifth: Fifth Monday in May
+May 30* 30 of every month
+May 30 5/30: May 30
+May 30 May. 30: May 30
+May 30 30 May: May 30
+ May: continued
+May 30* Monday: Every Monday
+May 31* Tuesday-1: Last (-1) Tuesday
+May 31* Tue-1: Last (-1) Tuesday
+May 31* Tuesday+5: Fifth Tuesday
+May 31* Tue+5: Fifth Tuesday
+May 31* Tuesday+5: Fifth Tuesday in May
+May 31* Tue+5: Fifth Tuesday in May
+May 31* Fifth: Fifth Tuesday in May
+May 31* 31 of every month
+May 31 5/31: May 31
+May 31 May. 31: May 31
+May 31 31 May: May 31
+ May: continued
+May 31* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160531.out b/regress/usr.bin/calendar/20160531.out
new file mode 100644
index 0000000..d5f0a50
--- /dev/null
+++ b/regress/usr.bin/calendar/20160531.out
@@ -0,0 +1,29 @@
+May 31* Tuesday-1: Last (-1) Tuesday
+May 31* Tue-1: Last (-1) Tuesday
+May 31* Tuesday+5: Fifth Tuesday
+May 31* Tue+5: Fifth Tuesday
+May 31* Tuesday+5: Fifth Tuesday in May
+May 31* Tue+5: Fifth Tuesday in May
+May 31* Fifth: Fifth Tuesday in May
+May 31* 31 of every month
+May 31 5/31: May 31
+May 31 May. 31: May 31
+May 31 31 May: May 31
+ May: continued
+May 31* Tuesday: Every Tuesday
+Jun 01* Wednesday+1: First Wednesday
+Jun 01* Wed+1: First Wednesday
+Jun 01* Wednesday+1: First Wednesday in June
+Jun 01* Wed+1: First Wednesday in June
+Jun 01* First: First Wednesday in June
+Jun 01* Wednesday+5: Fifth Wednesday in May
+Jun 01* Wed+5: Fifth Wednesday in May
+Jun 01* Fifth: Fifth Wednesday in May
+Jun 01* 1 of every month
+Jun 01 6/1: June 1
+Jun 01 Jun. 1: June 1
+Jun 01 1 June: June 1
+ June: continued
+Jun 01* *: Beginning of every month
+Jun 01* Wednesday: Every Wednesday
+Jun 01 June: Every June 1st
diff --git a/regress/usr.bin/calendar/20160601.out b/regress/usr.bin/calendar/20160601.out
new file mode 100644
index 0000000..2062daf
--- /dev/null
+++ b/regress/usr.bin/calendar/20160601.out
@@ -0,0 +1,30 @@
+Jun 01* Wednesday+1: First Wednesday
+Jun 01* Wed+1: First Wednesday
+Jun 01* Wednesday+1: First Wednesday in June
+Jun 01* Wed+1: First Wednesday in June
+Jun 01* First: First Wednesday in June
+Jun 01* Wednesday+5: Fifth Wednesday in May
+Jun 01* Wed+5: Fifth Wednesday in May
+Jun 01* Fifth: Fifth Wednesday in May
+Jun 01* 1 of every month
+Jun 01 6/1: June 1
+Jun 01 Jun. 1: June 1
+Jun 01 1 June: June 1
+ June: continued
+Jun 01* *: Beginning of every month
+Jun 01* Wednesday: Every Wednesday
+Jun 01 June: Every June 1st
+Jun 02* Thursday+1: First Thursday
+Jun 02* Thu+1: First Thursday
+Jun 02* Thursday+1: First Thursday in June
+Jun 02* Thu+1: First Thursday in June
+Jun 02* First: First Thursday in June
+Jun 02* Thursday+5: Fifth Thursday in May
+Jun 02* Thu+5: Fifth Thursday in May
+Jun 02* Fifth: Fifth Thursday in May
+Jun 02* 2 of every month
+Jun 02 6/2: June 2
+Jun 02 Jun. 2: June 2
+Jun 02 2 June: June 2
+ June: continued
+Jun 02* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160602.out b/regress/usr.bin/calendar/20160602.out
new file mode 100644
index 0000000..aa78ed3
--- /dev/null
+++ b/regress/usr.bin/calendar/20160602.out
@@ -0,0 +1,30 @@
+Jun 02* Thursday+1: First Thursday
+Jun 02* Thu+1: First Thursday
+Jun 02* Thursday+1: First Thursday in June
+Jun 02* Thu+1: First Thursday in June
+Jun 02* First: First Thursday in June
+Jun 02* Thursday+5: Fifth Thursday in May
+Jun 02* Thu+5: Fifth Thursday in May
+Jun 02* Fifth: Fifth Thursday in May
+Jun 02* 2 of every month
+Jun 02 6/2: June 2
+Jun 02 Jun. 2: June 2
+Jun 02 2 June: June 2
+ June: continued
+Jun 02* Thursday: Every Thursday
+Jun 03* Friday+1: First Friday
+Jun 03* Fri+1: First Friday
+Jun 03* Friday+1: First Friday in June
+Jun 03* Fri+1: First Friday in June
+Jun 03* First: First Friday in June
+Jun 03* Friday-4: Last (-4) Friday
+Jun 03* Fri-4: Last (-4) Friday
+Jun 03* Friday+5: Fifth Friday in May
+Jun 03* Fri+5: Fifth Friday in May
+Jun 03* Fifth: Fifth Friday in May
+Jun 03* 3 of every month
+Jun 03 6/3: June 3
+Jun 03 Jun. 3: June 3
+Jun 03 3 June: June 3
+ June: continued
+Jun 03* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160603.out b/regress/usr.bin/calendar/20160603.out
new file mode 100644
index 0000000..edd3433
--- /dev/null
+++ b/regress/usr.bin/calendar/20160603.out
@@ -0,0 +1,58 @@
+Jun 03* Friday+1: First Friday
+Jun 03* Fri+1: First Friday
+Jun 03* Friday+1: First Friday in June
+Jun 03* Fri+1: First Friday in June
+Jun 03* First: First Friday in June
+Jun 03* Friday-4: Last (-4) Friday
+Jun 03* Fri-4: Last (-4) Friday
+Jun 03* Friday+5: Fifth Friday in May
+Jun 03* Fri+5: Fifth Friday in May
+Jun 03* Fifth: Fifth Friday in May
+Jun 03* 3 of every month
+Jun 03 6/3: June 3
+Jun 03 Jun. 3: June 3
+Jun 03 3 June: June 3
+ June: continued
+Jun 03* Friday: Every Friday
+Jun 04* Saturday+1: First Saturday
+Jun 04* Sat+1: First Saturday
+Jun 04* Saturday+1: First Saturday in June
+Jun 04* Sat+1: First Saturday in June
+Jun 04* First: First Saturday in June
+Jun 04* Saturday-4: Last (-4) Saturday
+Jun 04* Sat-4: Last (-4) Saturday
+Jun 04* Saturday+5: Fifth Saturday in May
+Jun 04* Sat+5: Fifth Saturday in May
+Jun 04* Fifth: Fifth Saturday in May
+Jun 04* 4 of every month
+Jun 04 6/4: June 4
+Jun 04 Jun. 4: June 4
+Jun 04 4 June: June 4
+ June: continued
+Jun 04* Saturday: Every Saturday
+Jun 05* Sunday+1: First Sunday
+Jun 05* Sun+1: First Sunday
+Jun 05* Sunday+1: First Sunday in June
+Jun 05* Sun+1: First Sunday in June
+Jun 05* First: First Sunday in June
+Jun 05* Sunday-4: Last (-4) Sunday
+Jun 05* Sun-4: Last (-4) Sunday
+Jun 05* 5 of every month
+Jun 05 6/5: June 5
+Jun 05 Jun. 5: June 5
+Jun 05 5 June: June 5
+ June: continued
+Jun 05* Sunday: Every Sunday
+Jun 06* Monday+1: First Monday
+Jun 06* Mon+1: First Monday
+Jun 06* Monday+1: First Monday in June
+Jun 06* Mon+1: First Monday in June
+Jun 06* First: First Monday in June
+Jun 06* Monday-4: Last (-4) Monday
+Jun 06* Mon-4: Last (-4) Monday
+Jun 06* 6 of every month
+Jun 06 6/6: June 6
+Jun 06 Jun. 6: June 6
+Jun 06 6 June: June 6
+ June: continued
+Jun 06* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160604.out b/regress/usr.bin/calendar/20160604.out
new file mode 100644
index 0000000..2c0d587
--- /dev/null
+++ b/regress/usr.bin/calendar/20160604.out
@@ -0,0 +1,29 @@
+Jun 04* Saturday+1: First Saturday
+Jun 04* Sat+1: First Saturday
+Jun 04* Saturday+1: First Saturday in June
+Jun 04* Sat+1: First Saturday in June
+Jun 04* First: First Saturday in June
+Jun 04* Saturday-4: Last (-4) Saturday
+Jun 04* Sat-4: Last (-4) Saturday
+Jun 04* Saturday+5: Fifth Saturday in May
+Jun 04* Sat+5: Fifth Saturday in May
+Jun 04* Fifth: Fifth Saturday in May
+Jun 04* 4 of every month
+Jun 04 6/4: June 4
+Jun 04 Jun. 4: June 4
+Jun 04 4 June: June 4
+ June: continued
+Jun 04* Saturday: Every Saturday
+Jun 05* Sunday+1: First Sunday
+Jun 05* Sun+1: First Sunday
+Jun 05* Sunday+1: First Sunday in June
+Jun 05* Sun+1: First Sunday in June
+Jun 05* First: First Sunday in June
+Jun 05* Sunday-4: Last (-4) Sunday
+Jun 05* Sun-4: Last (-4) Sunday
+Jun 05* 5 of every month
+Jun 05 6/5: June 5
+Jun 05 Jun. 5: June 5
+Jun 05 5 June: June 5
+ June: continued
+Jun 05* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160605.out b/regress/usr.bin/calendar/20160605.out
new file mode 100644
index 0000000..b548201
--- /dev/null
+++ b/regress/usr.bin/calendar/20160605.out
@@ -0,0 +1,26 @@
+Jun 05* Sunday+1: First Sunday
+Jun 05* Sun+1: First Sunday
+Jun 05* Sunday+1: First Sunday in June
+Jun 05* Sun+1: First Sunday in June
+Jun 05* First: First Sunday in June
+Jun 05* Sunday-4: Last (-4) Sunday
+Jun 05* Sun-4: Last (-4) Sunday
+Jun 05* 5 of every month
+Jun 05 6/5: June 5
+Jun 05 Jun. 5: June 5
+Jun 05 5 June: June 5
+ June: continued
+Jun 05* Sunday: Every Sunday
+Jun 06* Monday+1: First Monday
+Jun 06* Mon+1: First Monday
+Jun 06* Monday+1: First Monday in June
+Jun 06* Mon+1: First Monday in June
+Jun 06* First: First Monday in June
+Jun 06* Monday-4: Last (-4) Monday
+Jun 06* Mon-4: Last (-4) Monday
+Jun 06* 6 of every month
+Jun 06 6/6: June 6
+Jun 06 Jun. 6: June 6
+Jun 06 6 June: June 6
+ June: continued
+Jun 06* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160606.out b/regress/usr.bin/calendar/20160606.out
new file mode 100644
index 0000000..4d5f802
--- /dev/null
+++ b/regress/usr.bin/calendar/20160606.out
@@ -0,0 +1,26 @@
+Jun 06* Monday+1: First Monday
+Jun 06* Mon+1: First Monday
+Jun 06* Monday+1: First Monday in June
+Jun 06* Mon+1: First Monday in June
+Jun 06* First: First Monday in June
+Jun 06* Monday-4: Last (-4) Monday
+Jun 06* Mon-4: Last (-4) Monday
+Jun 06* 6 of every month
+Jun 06 6/6: June 6
+Jun 06 Jun. 6: June 6
+Jun 06 6 June: June 6
+ June: continued
+Jun 06* Monday: Every Monday
+Jun 07* Tuesday+1: First Tuesday
+Jun 07* Tue+1: First Tuesday
+Jun 07* Tuesday+1: First Tuesday in June
+Jun 07* Tue+1: First Tuesday in June
+Jun 07* First: First Tuesday in June
+Jun 07* Tuesday-4: Last (-4) Tuesday
+Jun 07* Tue-4: Last (-4) Tuesday
+Jun 07* 7 of every month
+Jun 07 6/7: June 7
+Jun 07 Jun. 7: June 7
+Jun 07 7 June: June 7
+ June: continued
+Jun 07* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160607.out b/regress/usr.bin/calendar/20160607.out
new file mode 100644
index 0000000..3af0b79
--- /dev/null
+++ b/regress/usr.bin/calendar/20160607.out
@@ -0,0 +1,26 @@
+Jun 07* Tuesday+1: First Tuesday
+Jun 07* Tue+1: First Tuesday
+Jun 07* Tuesday+1: First Tuesday in June
+Jun 07* Tue+1: First Tuesday in June
+Jun 07* First: First Tuesday in June
+Jun 07* Tuesday-4: Last (-4) Tuesday
+Jun 07* Tue-4: Last (-4) Tuesday
+Jun 07* 7 of every month
+Jun 07 6/7: June 7
+Jun 07 Jun. 7: June 7
+Jun 07 7 June: June 7
+ June: continued
+Jun 07* Tuesday: Every Tuesday
+Jun 08* Wednesday+2: Second Wednesday
+Jun 08* Wed+2: Second Wednesday
+Jun 08* Wednesday+2: Second Wednesday in June
+Jun 08* Wed+2: Second Wednesday in June
+Jun 08* Second: Second Wednesday in June
+Jun 08* Wednesday-4: Last (-4) Wednesday
+Jun 08* Wed-4: Last (-4) Wednesday
+Jun 08* 8 of every month
+Jun 08 6/8: June 8
+Jun 08 Jun. 8: June 8
+Jun 08 8 June: June 8
+ June: continued
+Jun 08* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160608.out b/regress/usr.bin/calendar/20160608.out
new file mode 100644
index 0000000..fd7616f
--- /dev/null
+++ b/regress/usr.bin/calendar/20160608.out
@@ -0,0 +1,26 @@
+Jun 08* Wednesday+2: Second Wednesday
+Jun 08* Wed+2: Second Wednesday
+Jun 08* Wednesday+2: Second Wednesday in June
+Jun 08* Wed+2: Second Wednesday in June
+Jun 08* Second: Second Wednesday in June
+Jun 08* Wednesday-4: Last (-4) Wednesday
+Jun 08* Wed-4: Last (-4) Wednesday
+Jun 08* 8 of every month
+Jun 08 6/8: June 8
+Jun 08 Jun. 8: June 8
+Jun 08 8 June: June 8
+ June: continued
+Jun 08* Wednesday: Every Wednesday
+Jun 09* Thursday+2: Second Thursday
+Jun 09* Thu+2: Second Thursday
+Jun 09* Thursday+2: Second Thursday in June
+Jun 09* Thu+2: Second Thursday in June
+Jun 09* Second: Second Thursday in June
+Jun 09* Thursday-4: Last (-4) Thursday
+Jun 09* Thu-4: Last (-4) Thursday
+Jun 09* 9 of every month
+Jun 09 6/9: June 9
+Jun 09 Jun. 9: June 9
+Jun 09 9 June: June 9
+ June: continued
+Jun 09* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160609.out b/regress/usr.bin/calendar/20160609.out
new file mode 100644
index 0000000..6777a18
--- /dev/null
+++ b/regress/usr.bin/calendar/20160609.out
@@ -0,0 +1,26 @@
+Jun 09* Thursday+2: Second Thursday
+Jun 09* Thu+2: Second Thursday
+Jun 09* Thursday+2: Second Thursday in June
+Jun 09* Thu+2: Second Thursday in June
+Jun 09* Second: Second Thursday in June
+Jun 09* Thursday-4: Last (-4) Thursday
+Jun 09* Thu-4: Last (-4) Thursday
+Jun 09* 9 of every month
+Jun 09 6/9: June 9
+Jun 09 Jun. 9: June 9
+Jun 09 9 June: June 9
+ June: continued
+Jun 09* Thursday: Every Thursday
+Jun 10* Friday+2: Second Friday
+Jun 10* Fri+2: Second Friday
+Jun 10* Friday+2: Second Friday in June
+Jun 10* Fri+2: Second Friday in June
+Jun 10* Second: Second Friday in June
+Jun 10* Friday-3: Last (-3) Friday
+Jun 10* Fri-3: Last (-3) Friday
+Jun 10* 10 of every month
+Jun 10 6/10: June 10
+Jun 10 Jun. 10: June 10
+Jun 10 10 June: June 10
+ June: continued
+Jun 10* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160610.out b/regress/usr.bin/calendar/20160610.out
new file mode 100644
index 0000000..fd9802a
--- /dev/null
+++ b/regress/usr.bin/calendar/20160610.out
@@ -0,0 +1,52 @@
+Jun 10* Friday+2: Second Friday
+Jun 10* Fri+2: Second Friday
+Jun 10* Friday+2: Second Friday in June
+Jun 10* Fri+2: Second Friday in June
+Jun 10* Second: Second Friday in June
+Jun 10* Friday-3: Last (-3) Friday
+Jun 10* Fri-3: Last (-3) Friday
+Jun 10* 10 of every month
+Jun 10 6/10: June 10
+Jun 10 Jun. 10: June 10
+Jun 10 10 June: June 10
+ June: continued
+Jun 10* Friday: Every Friday
+Jun 11* Saturday+2: Second Saturday
+Jun 11* Sat+2: Second Saturday
+Jun 11* Saturday+2: Second Saturday in June
+Jun 11* Sat+2: Second Saturday in June
+Jun 11* Second: Second Saturday in June
+Jun 11* Saturday-3: Last (-3) Saturday
+Jun 11* Sat-3: Last (-3) Saturday
+Jun 11* 11 of every month
+Jun 11 6/11: June 11
+Jun 11 Jun. 11: June 11
+Jun 11 11 June: June 11
+ June: continued
+Jun 11* Saturday: Every Saturday
+Jun 12* Sunday+2: Second Sunday
+Jun 12* Sun+2: Second Sunday
+Jun 12* Sunday+2: Second Sunday in June
+Jun 12* Sun+2: Second Sunday in June
+Jun 12* Second: Second Sunday in June
+Jun 12* Sunday-3: Last (-3) Sunday
+Jun 12* Sun-3: Last (-3) Sunday
+Jun 12* 12 of every month
+Jun 12 6/12: June 12
+Jun 12 Jun. 12: June 12
+Jun 12 12 June: June 12
+ June: continued
+Jun 12* Sunday: Every Sunday
+Jun 13* Monday+2: Second Monday
+Jun 13* Mon+2: Second Monday
+Jun 13* Monday+2: Second Monday in June
+Jun 13* Mon+2: Second Monday in June
+Jun 13* Second: Second Monday in June
+Jun 13* Monday-3: Last (-3) Monday
+Jun 13* Mon-3: Last (-3) Monday
+Jun 13* 13 of every month
+Jun 13 6/13: June 13
+Jun 13 Jun. 13: June 13
+Jun 13 13 June: June 13
+ June: continued
+Jun 13* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160611.out b/regress/usr.bin/calendar/20160611.out
new file mode 100644
index 0000000..4ee87ca
--- /dev/null
+++ b/regress/usr.bin/calendar/20160611.out
@@ -0,0 +1,26 @@
+Jun 11* Saturday+2: Second Saturday
+Jun 11* Sat+2: Second Saturday
+Jun 11* Saturday+2: Second Saturday in June
+Jun 11* Sat+2: Second Saturday in June
+Jun 11* Second: Second Saturday in June
+Jun 11* Saturday-3: Last (-3) Saturday
+Jun 11* Sat-3: Last (-3) Saturday
+Jun 11* 11 of every month
+Jun 11 6/11: June 11
+Jun 11 Jun. 11: June 11
+Jun 11 11 June: June 11
+ June: continued
+Jun 11* Saturday: Every Saturday
+Jun 12* Sunday+2: Second Sunday
+Jun 12* Sun+2: Second Sunday
+Jun 12* Sunday+2: Second Sunday in June
+Jun 12* Sun+2: Second Sunday in June
+Jun 12* Second: Second Sunday in June
+Jun 12* Sunday-3: Last (-3) Sunday
+Jun 12* Sun-3: Last (-3) Sunday
+Jun 12* 12 of every month
+Jun 12 6/12: June 12
+Jun 12 Jun. 12: June 12
+Jun 12 12 June: June 12
+ June: continued
+Jun 12* Sunday: Every Sunday
diff --git a/regress/usr.bin/calendar/20160612.out b/regress/usr.bin/calendar/20160612.out
new file mode 100644
index 0000000..60bf9f4
--- /dev/null
+++ b/regress/usr.bin/calendar/20160612.out
@@ -0,0 +1,26 @@
+Jun 12* Sunday+2: Second Sunday
+Jun 12* Sun+2: Second Sunday
+Jun 12* Sunday+2: Second Sunday in June
+Jun 12* Sun+2: Second Sunday in June
+Jun 12* Second: Second Sunday in June
+Jun 12* Sunday-3: Last (-3) Sunday
+Jun 12* Sun-3: Last (-3) Sunday
+Jun 12* 12 of every month
+Jun 12 6/12: June 12
+Jun 12 Jun. 12: June 12
+Jun 12 12 June: June 12
+ June: continued
+Jun 12* Sunday: Every Sunday
+Jun 13* Monday+2: Second Monday
+Jun 13* Mon+2: Second Monday
+Jun 13* Monday+2: Second Monday in June
+Jun 13* Mon+2: Second Monday in June
+Jun 13* Second: Second Monday in June
+Jun 13* Monday-3: Last (-3) Monday
+Jun 13* Mon-3: Last (-3) Monday
+Jun 13* 13 of every month
+Jun 13 6/13: June 13
+Jun 13 Jun. 13: June 13
+Jun 13 13 June: June 13
+ June: continued
+Jun 13* Monday: Every Monday
diff --git a/regress/usr.bin/calendar/20160613.out b/regress/usr.bin/calendar/20160613.out
new file mode 100644
index 0000000..544b237
--- /dev/null
+++ b/regress/usr.bin/calendar/20160613.out
@@ -0,0 +1,26 @@
+Jun 13* Monday+2: Second Monday
+Jun 13* Mon+2: Second Monday
+Jun 13* Monday+2: Second Monday in June
+Jun 13* Mon+2: Second Monday in June
+Jun 13* Second: Second Monday in June
+Jun 13* Monday-3: Last (-3) Monday
+Jun 13* Mon-3: Last (-3) Monday
+Jun 13* 13 of every month
+Jun 13 6/13: June 13
+Jun 13 Jun. 13: June 13
+Jun 13 13 June: June 13
+ June: continued
+Jun 13* Monday: Every Monday
+Jun 14* Tuesday+2: Second Tuesday
+Jun 14* Tue+2: Second Tuesday
+Jun 14* Tuesday+2: Second Tuesday in June
+Jun 14* Tue+2: Second Tuesday in June
+Jun 14* Second: Second Tuesday in June
+Jun 14* Tuesday-3: Last (-3) Tuesday
+Jun 14* Tue-3: Last (-3) Tuesday
+Jun 14* 14 of every month
+Jun 14 6/14: June 14
+Jun 14 Jun. 14: June 14
+Jun 14 14 June: June 14
+ June: continued
+Jun 14* Tuesday: Every Tuesday
diff --git a/regress/usr.bin/calendar/20160614.out b/regress/usr.bin/calendar/20160614.out
new file mode 100644
index 0000000..a5dd246
--- /dev/null
+++ b/regress/usr.bin/calendar/20160614.out
@@ -0,0 +1,26 @@
+Jun 14* Tuesday+2: Second Tuesday
+Jun 14* Tue+2: Second Tuesday
+Jun 14* Tuesday+2: Second Tuesday in June
+Jun 14* Tue+2: Second Tuesday in June
+Jun 14* Second: Second Tuesday in June
+Jun 14* Tuesday-3: Last (-3) Tuesday
+Jun 14* Tue-3: Last (-3) Tuesday
+Jun 14* 14 of every month
+Jun 14 6/14: June 14
+Jun 14 Jun. 14: June 14
+Jun 14 14 June: June 14
+ June: continued
+Jun 14* Tuesday: Every Tuesday
+Jun 15* Wednesday+3: Third Wednesday
+Jun 15* Wed+3: Third Wednesday
+Jun 15* Wednesday-3: Last (-3) Wednesday
+Jun 15* Wed-3: Last (-3) Wednesday
+Jun 15* Wednesday+3: Third Wednesday in June
+Jun 15* Wed+3: Third Wednesday in June
+Jun 15* Third: Third Wednesday in June
+Jun 15* 15 of every month
+Jun 15 6/15: June 15
+Jun 15 Jun. 15: June 15
+Jun 15 15 June: June 15
+ June: continued
+Jun 15* Wednesday: Every Wednesday
diff --git a/regress/usr.bin/calendar/20160615.out b/regress/usr.bin/calendar/20160615.out
new file mode 100644
index 0000000..c6328f7
--- /dev/null
+++ b/regress/usr.bin/calendar/20160615.out
@@ -0,0 +1,26 @@
+Jun 15* Wednesday+3: Third Wednesday
+Jun 15* Wed+3: Third Wednesday
+Jun 15* Wednesday-3: Last (-3) Wednesday
+Jun 15* Wed-3: Last (-3) Wednesday
+Jun 15* Wednesday+3: Third Wednesday in June
+Jun 15* Wed+3: Third Wednesday in June
+Jun 15* Third: Third Wednesday in June
+Jun 15* 15 of every month
+Jun 15 6/15: June 15
+Jun 15 Jun. 15: June 15
+Jun 15 15 June: June 15
+ June: continued
+Jun 15* Wednesday: Every Wednesday
+Jun 16* Thursday+3: Third Thursday
+Jun 16* Thu+3: Third Thursday
+Jun 16* Thursday-3: Last (-3) Thursday
+Jun 16* Thu-3: Last (-3) Thursday
+Jun 16* Thursday+3: Third Thursday in June
+Jun 16* Thu+3: Third Thursday in June
+Jun 16* Third: Third Thursday in June
+Jun 16* 16 of every month
+Jun 16 6/16: June 16
+Jun 16 Jun. 16: June 16
+Jun 16 16 June: June 16
+ June: continued
+Jun 16* Thursday: Every Thursday
diff --git a/regress/usr.bin/calendar/20160616.out b/regress/usr.bin/calendar/20160616.out
new file mode 100644
index 0000000..515e56e
--- /dev/null
+++ b/regress/usr.bin/calendar/20160616.out
@@ -0,0 +1,26 @@
+Jun 16* Thursday+3: Third Thursday
+Jun 16* Thu+3: Third Thursday
+Jun 16* Thursday-3: Last (-3) Thursday
+Jun 16* Thu-3: Last (-3) Thursday
+Jun 16* Thursday+3: Third Thursday in June
+Jun 16* Thu+3: Third Thursday in June
+Jun 16* Third: Third Thursday in June
+Jun 16* 16 of every month
+Jun 16 6/16: June 16
+Jun 16 Jun. 16: June 16
+Jun 16 16 June: June 16
+ June: continued
+Jun 16* Thursday: Every Thursday
+Jun 17* Friday-2: Last (-2) Friday
+Jun 17* Fri-2: Last (-2) Friday
+Jun 17* Friday+3: Third Friday
+Jun 17* Fri+3: Third Friday
+Jun 17* Friday+3: Third Friday in June
+Jun 17* Fri+3: Third Friday in June
+Jun 17* Third: Third Friday in June
+Jun 17* 17 of every month
+Jun 17 6/17: June 17
+Jun 17 Jun. 17: June 17
+Jun 17 17 June: June 17
+ June: continued
+Jun 17* Friday: Every Friday
diff --git a/regress/usr.bin/calendar/20160617.out b/regress/usr.bin/calendar/20160617.out
new file mode 100644
index 0000000..0788fd9
--- /dev/null
+++ b/regress/usr.bin/calendar/20160617.out
@@ -0,0 +1,52 @@
+Jun 17* Friday-2: Last (-2) Friday
+Jun 17* Fri-2: Last (-2) Friday
+Jun 17* Friday+3: Third Friday
+Jun 17* Fri+3: Third Friday
+Jun 17* Friday+3: Third Friday in June
+Jun 17* Fri+3: Third Friday in June
+Jun 17* Third: Third Friday in June
+Jun 17* 17 of every month
+Jun 17 6/17: June 17
+Jun 17 Jun. 17: June 17
+Jun 17 17 June: June 17
+ June: continued
+Jun 17* Friday: Every Friday
+Jun 18* Saturday-2: Last (-2) Saturday
+Jun 18* Sat-2: Last (-2) Saturday
+Jun 18* Saturday+3: Third Saturday
+Jun 18* Sat+3: Third Saturday
+Jun 18* Saturday+3: Third Saturday in June
+Jun 18* Sat+3: Third Saturday in June
+Jun 18* Third: Third Saturday in June
+Jun 18* 18 of every month
+Jun 18 6/18: June 18
+Jun 18 Jun. 18: June 18
+Jun 18 18 June: June 18
+ June: continued
+Jun 18* Saturday: Every Saturday
+Jun 19* Sunday-2: Last (-2) Sunday
+Jun 19* Sun-2: Last (-2) Sunday
+Jun 19* Sunday+3: Third Sunday
+Jun 19* Sun+3: Third Sunday
+Jun 19* Sunday+3: Third Sunday in June
+Jun 19* Sun+3: Third Sunday in June
+Jun 19* Third: Third Sunday in June
+Jun 19* 19 of every month
+Jun 19 6/19: June 19
+Jun 19 Jun. 19: June 19
+Jun 19 19 June: June 19
+ June: continued
+Jun 19* Sunday: Every Sunday
+Jun 20* Monday-2: Last (-2) Monday
+Jun 20* Mon-2: Last (-2) Monday
+Jun 20* Monday+3: Third Monday
+Jun 20* Mon+3: Third Monday
+Jun 20* Monday+3: Third Monday in June
+Jun 20* Mon+3: Third Monday in June
+Jun 20* Third: Third Monday in June
+Jun 20* 20 of every month
+Jun 20 6/20: June 20
+Jun 20 Jun. 20: June 2