File: changelog

package info (click to toggle)
mksh 59c-43
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,688 kB
  • sloc: ansic: 58,251; sh: 6,114; perl: 2,155; makefile: 127
file content (4592 lines) | stat: -rw-r--r-- 236,761 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
mksh (59c-43) unstable; urgency=low

  * Explicitly B-D on bsdutils despite Priority: required
  * Add /usr/lib/$DEB_HOST_MULTIARCH/bin/mksh-g binary which is a
    debug build of mksh (with /bin/sh kludges and printf builtin),
    also built using ASan/UBSan (where available), so end users
    can debug some things more easily
  * Force musl to embed GNU build-id (for dbgsym matching)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 27 Dec 2025 00:42:06 +0000

mksh (59c-42) unstable; urgency=low

  * Update from MirBSD CVS HEAD
    - [tg] Spell out polymorphism in OS/2 glue for GCC 15 / ISO C23
    - [komh] Kill an execve(2)d child when a fork()ed parent ends on OS/2,
      where executing does not overlay the parent process
    - [komh] Fix compilation warnings on OS/2
    - [komh, tg] Disable checking for select(2) on OS/2 by default, as it
      only handles sockets, and mksh only uses it for timeouts anyway
    - [tg] Debug builds, when argv[0]="--unparse", show parse trees
    - [tg] In POSIX 2024, interactive shells may not exit if exec fails
      (in native mode, they must, of course; fix edge case for this)
    - [tg] Distinguish better between errorlevels 126 and 127
    - [tg] Add new POSIX 2024 option -p to trap builtin and reorganise
      its manpage section; mention how to capture its output in mksh
    - [tg] read builtin checks variables it writes to are identifiers
    - [tg] time no longer aborts the entire shell on error
    - [tg] work around another ancient sh(1) bug in Build.sh
    - [tg] accept ^[OM for KP_Enter
    - [tg] make error message less confusing (cf. Debian #1116560)
    - [tg] auto-detect ssize_t replacement if necessary
    - [tg] reduce amount of false positives for attribute detection
    - [tg] improve/fix rendering of I/O redirections in error outputs
    - [tg] make ^D in here documents not lose entire shell, but behav-ish
      more like ^C (sans the whole interrupt/trap handling)
    - [tg] move the mark when inserting text, and not more than we must
    - [tg, Amin] add complete-pathword example to FAQ
    - [tg] add experimental, (for now) undocumented support for ksh-style
      functions to take parameters, with default arguments; this feature is
      subject to change without prior notice and only base for discussion
  * Update lintian overrides
  * Bump Policy (keep Priority field to facilitate backporting, though)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 26 Dec 2025 00:43:45 +0000

mksh (59c-41) unstable; urgency=medium

  * Update from MirBSD CVS
    - [tg] Fix sometimes special builtin errors are not fatal enough
    - [tg] Errors reading next command to run are now fatal (LP#2002044)
    - [tg] … as are nōn-interactive syntax errors, following POSIX
  * Replace reference to removed mailing lists + update upstream infos
  * Sync lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 27 Apr 2025 00:43:37 +0000

mksh (59c-40) unstable; urgency=high

  * Update from MirBSD CVS
    - opt out of “AI” in FAQ2HTML.sh
    - make one test cleanup more reliable
    - mbsdcc.h: MBSDCC_H_NO_FAM now supported
  * Fix inconsistent casing in the previous two d/changelog entries
  * Some working around lintian messages that differ between arches
  * Handle /bin/mksh-static glibc (on Hurd mostly) the same as the
    other (musl/klibc/dietlibc) ones
  * Handle nostaticpie in DEB_BUILD_OPTIONS, for debugging lintian
  * Address jammy/noble riscv64 buildds
  * Switch from pcregrep to recent-enough grep (Closes: #1101106)
    (I’ve to express my frustration with people removing a package
    required by other packages a mere month before the freeze.) 😾
  * Bump Standards-Version

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 23 Mar 2025 22:41:02 +0100

mksh (59c-39) unstable; urgency=medium

  [ Helmut Grohne ]
  * Move files from /bin/ to /usr/bin/ (Closes: #1073608)

  [ Thorsten Glaser ]
  * Grudgingly merge the above
  * The “2/2… who needs enemies” upload 😾
  * Drop the experimental changes
  * Upload to unstable
  * Merge from CVS HEAD:
    - [komh] fix refactoro
    - [komh] prefer .exe to .ksh in search order of the executable on OS/2
    - [tg] add just another nanosecond variant: dietlibc has sb.st_mtime_nsec
    - [tg] improve ENOEXEC scriptexec handling (whitelist cosmopolitan libc’s
      “APE” executables; distinguish between bad magic and shebang too long;
      avail on EBCDIC; fix errorlevel for wrong-arch ELF; recognise Zstd)
    - [Riccardo Felici] improve syntax check for while/until loops
  * Bump S-V, no changes
  * Remove checks for nōn-UsrMove layout, now that this is forced upon users

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 19 Aug 2024 01:55:51 +0200

mksh (59c-38) experimental; urgency=low

  * Experiments to deal with the poettering’d filesystem layout
  * Upload to experimental, B-D dietlibc/experimental for testing
    and GCC 14

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 05 Jul 2024 01:02:41 +0200

mksh (59c-37) unstable; urgency=medium

  * Limit musl static-PIE to architectures it is known to work
    (see #1068350 and even #1068302)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 05 Apr 2024 02:33:34 +0200

mksh (59c-36) unstable; urgency=low

  * Fix two typos in musl static-pie support check, improve diagnostics

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 03 Apr 2024 12:25:23 +0200

mksh (59c-35) unstable; urgency=low

  * Update from CVS HEAD:
    - improvements to mbsd{cc,int}.h, mostly portability
    - put a message behind #ifdef DEBUG
    - improved fallback for missing rlim_t
    - FAQ update
    - avoid uint8_t in printf.c favouring “unsigned char” explicitly
  * Use munged specs file for #1050429 workaround, drop gcc-12 B-D
  * Install /usr/bin-based (nōn-canonical) pathnames into /etc/shells
    on systems with a broken filesystem layout (Closes: #1063905)
  * loong64 musl became available as well

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 02 Apr 2024 16:32:00 +0200

mksh (59c-34) unstable; urgency=low

  * Trace input files for all static builds, for maintainer use
  * loong64 klibc became available
  * Use static-pie with musl versions that support it
  * Update from CVS HEAD:
    - [tg] Use mbsdint.h/mbsdcc.h to use features of recent C standard
      versions or compiler extensions when available and suitable
    - [tg] Drop MKSH_BROKEN_OFFSETOF from SCO and Xenix, instead use
      offsetof(s, x) ipv offsetof(s, x[0]) which chokes MSVC
    - [tg] Add -c trace build option for GCC
    - [Riccardo Felici] forbid / (and ^ as collateral) in function names
    - [RT, tg] Port to BOW (BSD on Windows) with u_quad_t…
    - [tg] Drop values.h inclusion;
      improve sys/resource.h and missing-rlim_t detection
    - [tg] Make FAQ2HTML.sh 8.3-filename-safe
    - [tg] time can now be called as a builtin as well
    - [Martijn Dekker] Fix typeset -p for unset variables
    - [RT, tg] Port to SINIX-Z 5.42 and revisit Dell UNIX port
  * Distinguish between dependencies for Static-Built-Using,
    Built-Using, and neither (libgcc*-dev, linux-libc-dev waived)
    using real tracing output instead of hardcoding and checking
    paths; note necessary notices in copyright of binary packages
  * Mention S-B-U in notice to buildd admins
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 04 Feb 2024 08:01:19 +0100

mksh (59c-33) unstable; urgency=medium

  * Update from CVS HEAD:
    - mbsd{cc,int}.h further improvements, a regression fix

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 17 Sep 2023 05:02:08 +0200

mksh (59c-32) unstable; urgency=low

  * Move to Static-Built-Using, introduced with bookworm’s dpkg
  * Use * for /usr/lib/*-linux-musl*/ for postinst/prerm as well
  * Correct musl triplet for sh4
  * Update to CVS HEAD:
    - mbsdint.h small improvements
    - apply workaround for Debian #1050589
  * Work around #1050429 by fallback to gcc-12 on mipsel, mips64el

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 28 Aug 2023 22:23:35 +0200

mksh (59c-31) unstable; urgency=medium

  * Move dietlibc, klibc version checks from d/control to d/meat
  * Do not use recent klibc versions that require Linux 5.1+ on
    mipsel, a significant number of boards (including multiple
    Debian buildd machines) fails to boot the newer kernels (+mips64el)
  * For lksh and mksh-static prefer musl for improved syscall coverage
    over klibc (lacks e.g. getrandom) over dietlibc (mostly stale)
  * Update to CVS HEAD:
    - [tg] Fix crash on $(: &>/dev/null) bashism in COMSUB
           reported by fmunozs on IRC; thanks!
    - [tg] Include contemporary OS-provided entropy in $RANDOM
    - [tg] test.sh -f is default; add +f for slow boxen

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 23 Aug 2023 19:42:16 +0200

mksh (59c-30) unstable; urgency=low

  * Update lintian overrides
  * Test upload for latest klibc compatibility checking
  * Import CVS changes:
    - [tg] Add +DEBUG to KSH_VERSION if built with Build.sh -g
      so these binaries won’t get shipped to actual users
    - [tg] Tighten x=(…) parsing, reported by Riccardo Felici
    - [tg] Update documentation (future directions, POSIX, meta)
    - [tg] Make manpages compatible with GNU groff 1.23 mdoc
    - [tg] Add another CRLF test
  * Enforce klibc 2.0.13+ needing Linux kernel 5.1+
  * Format log messages better (normal Debian loglevel præficēs)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 04 Aug 2023 03:06:05 +0200

mksh (59c-29) unstable; urgency=medium

  * The “/bin/ is important (also to the FHS)” upload
  * Update from CVS HEAD:
    - [tg] Improve mbsdint.h further, make more versatile
    - [tg] Fix shift and rotate for nōn-power-of-two-sized quantities
    - [tg] shf_vfprintf can output mbiHUGE_{U,S} with %j now
    - [tg] ulimits can now be set and printed with mbiHUGE precision,
      no more 32-bit and/or int-size truncation
    - [tg] Reshuffle ulimit -v and -m assignment to both fulfil the POSIX
      requirement that -v is RLIMIT_AS if present and user assumption that
      -m is RLIMIT_VMEM or RLIMIT_RSS even if aliasing -v (for pkgsrc®)
    - [tg] Use of Build.sh -g or -DDEBUG in CPPFLAGS now limits (user)
      recursion so fuzzers triggering that won’t get a segfault; do not use
      this in a production shell because arbitrary user recursion (up to
      stacklimit) is guaranteed to scripts!
    - [tg] Plug minor valgrind memleaks not relevant in production
    - [tg] Fix iop leak in recursive parsing (found by Riccardo Felici,
      USI Lugano); make parsing more robust in related areas
    - [tg] Unwind reclaim must free retrace_info (crash reported by fmunozs)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 13 Jun 2023 03:02:38 +0200

mksh (59c-27) unstable; urgency=medium

  * Small targeted fixes from MirBSD CVS:
    - (regarding mbsdint.h) portability fixes
    - [tg] Fix some formatting routines, calculations; add extra checks
    - (printf.c) fix prefix outputting diagnostics

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 14 Mar 2023 16:59:00 +0100

mksh (59c-26) unstable; urgency=medium

  * Fixup more update-shells breakage also found by piuparts

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 15 Feb 2023 16:04:53 +0100

mksh (59c-25) unstable; urgency=medium

  * Amend add-shell workaround to piuparts trouble caused by merged-usr…
  * Revamp entire update-shells logic for reliability
  * Small targeted fixes from MirBSD CVS
    - [tg] Improve situation when commands/etc. cannot be found + manpage
    - [tg] Minor mbsdint.h fixes, it has a testsuite now

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 14 Feb 2023 19:48:24 +0100

mksh (59c-24) unstable; urgency=medium

  * Raise time limit…

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 26 Jan 2023 07:22:31 +0100

mksh (59c-23) unstable; urgency=medium

  * Add missing time limit to new mtest
  * Show arch in build log, for blscan and useful-scripts analysēs
  * Do the same with build env inconsistencies
  * CVS update for avoidable blhc warning
  * Work around add-shell adding the symlink target as well (piuparts)
  * Built-Using: omit gcc-* and linux src pkgs as runtimes

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 26 Jan 2023 06:12:23 +0100

mksh (59c-22) unstable; urgency=medium

  * Add looping regression-62 variant as mtest to catch libc bugs
  * Update to CVS HEAD:
    - [lintian] Fix misspelling
    - [tg] Fix handling of $#/$0/… for various corner cases (LP#2002250)
    - [tg] Unify nil pointer handling using C23’s if present
    - [tg] Accommodate diverging negative modulo on lksh in testsuite
  * Also update printf.c to CVS HEAD (lowers bytewaste)
  * Lintian override updates; no-change Policy bump

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 24 Jan 2023 06:23:05 +0100

mksh (59c-21) unstable; urgency=low

  * Update to CVS HEAD:
    - [CodeQL] use fchown(2) in palliative code
    - [tg] In test(1) clarify operators need escaping as usual
    - [tg] Fix time -p in pipeline and strict POSIX format
    - [tg] 4 bytes are sufficient for wctomb…
    - [tg] Small comment and documentation improvements

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 03 Jan 2023 18:00:51 +0100

mksh (59c-20) unstable; urgency=medium

  * Update to CVS HEAD:
    - [tg] Pass the third argument to open(2) always for HP aCC
    - [tg] clang --version seems to be accepted these days
    - [tg] DragonFlyBSD defines NELEM in sys/param.h õÕ
    - [tg] Rewrite all code to not need PATH_MAX, fix some casts
    - [tg] Fix compatibility with systems where tv_sec is unsigned
    - [tg] Begin debugging the heredoc-tmpfile-8 test; help welcome
  * Omit D:loglibc lines from README.Debian (Closes: #1021085)
  * Fix autopkgtests to handle flaky tests (Closes: #1025229)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 02 Dec 2022 02:49:39 +0100

mksh (59c-19) unstable; urgency=medium

  * debian/blscan: handle better when some are still building
  * klibc B-D: revert from linux-any to whitelist because it’s not
    yet available on e.g. arc (new d-ports architecture)
  * Omit number of tests failed/ignored/passed from README.Debian
    because fragile/ignore-fail tests make it unreproducible;
    thanks lamby for noting (Closes: #1021085)
  * Bump klibc sid version lower bound for 32-bit arch fix

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 02 Oct 2022 21:22:44 +0200

mksh (59c-18) unstable; urgency=medium

  * Update to CVS HEAD:
    - [tg] add more documentation and user-requested examples to the FAQ
    - [tg] plug rare build error if using Build.sh -g
    - [tg] fix GCC ASan (reported by Riccardo Felici, USI Lugano), UBSan
    - [tg] dot.mkshrc missing backspace; make Lb64decode work on lksh
    - [tg] Support HP-UX 9 (m68k) and possibly fix other smaller compilers
    - [tg] Fix ulimit bad option message
    - [tg] Implement some extra safeties when doing strdup(3)-ish things
    - [tg] dot.mkshrc fix enable errors from disabled ones
    - [tg] Update to UCD 15.0.0
  * Useless maintainer churn for lintian’s latest format changes

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 28 Sep 2022 22:07:27 +0000

mksh (59c-17) unstable; urgency=medium

  * Update to CVS HEAD:
    - [tg] Correct R41 regression wrt (nōninteractive) tty state restoring
    - [tg] dot.mkshrc also add ~/.local/bin/ to $PATH if extant
    - [tg] rename bool/true/false/tobool() to Wahr/Ja/Nee/isWahr()
    - [tg] drop use of pure attribute, until revisited (and with const)
    - [tg] reduce UB in arithmetics further (and IB…)
    - [tg, trn] FAQ: note line number reporting issue for blocks
    - [tg] improve Makefrag.inc generation (Build.sh -M)
    - [Coverity] improve padding/unused in onstack Getopt structure
    - [tg] fix shift in value substitutions and function substitutions
    - [tg] improve compile-time checks and run more but not redundant ones
    - [tg] With much rejoicing remove the warning introduced in 59c-15
      again as it was thankfully rejected, at POSIX level
  * Update to matching printf.c

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 25 Apr 2022 04:01:35 +0200

mksh (59c-16) unstable; urgency=medium

  * Update to CVS HEAD:
    - [tg] Work around older dietlibc’s lack of some limit macros
    - [tg] Clear builtin_argv0 when quitenv()ing E_EXEC env
    - [tg] Fix selftest-tty-absent and thus FTBFS on Hurd and
      GNU/kFreeBSD due to #807071

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 31 Jan 2022 23:14:57 +0000

mksh (59c-15) unstable; urgency=medium

  * Require usable libklibc-dev (cf. #1004465)
  * Update to CVS HEAD:
    - [tg, Redfoxmoon] Fixes for the MIPSpro compiler
    - [tg] Clean up the pre-initio() codepaths
    - [tg] Advance less-UB-y arithmetics project: shf_vfprintf et al.
    - [tg] Overhaul error reporting functions avoiding some name doubling
    - [tg] Fix if FCEDIT when TMPDIR contains whitespace
    - [tg] Tighten locale and charset checks
    - [tg] Handle gracefully users doing integer EPOCHREALTIME=
    - [tg] Fix newer GCC warning on compile-time asserts
    - [tg] Support GNU strerrordesc_np(3) replacement for _sys_errlist[]
    - [tg] Better configure-time detection (TenDRA, dietlibc, …)
    - [tg] Fix possible setsid(2) failure in chvt code by always forking,
      with waiting if !, and communicate child process errors back
    - [tg] Change some more numbers to unsigned, signed is evil in C
    - [tg] Improve flags documentation, also (Closes: #999706)
    - [tg] Clear nonblocking flag on entry for FIFOs as well, as POSIX says
    - [komh, tg] Fix termio chvt flushing and link to Ilya Zakharevich’s
      docs why no shell can use termios(4) on OS/2
    - [tg] Introduce k32 type and arithmetics, used in hash, indicēs, …
    - [tg] Add explicit masking for 8-bit to KBY and KBI macros
    - [tg] Change remaining users off stdint.h types, except old arith
    - [tg, bwh] Limit object size to the smaller of (size_t)PTRDIFF_MAX and
      SIZE_MAX, so byte representation pointer offsets cannot cause UB
    - [tg] PRNG improvements: track traps and history input
    - [tg] Limit variable name length to INT_MAX-X_EXTRA to guarantee export
    - [tg] Update portability glue for manpage
    - [tg] Document local array howto and behaviour in the FAQ
    - [tg] Fix missing backslash in posix-mode FAQ locale example code
    - [tg] Change short hash from BAFH0-1 to BAFH1-0 (faster at no loss)
    - [tg] Improve UB-safe type property detection and arithmetics; switch
      more parts of lksh to UB-y (POSIXly “correct” though…) arithmetics
    - [tg] Support GNU sigdescr_np(3) replacement for _sys_siglist[] and
      sigabbrev_np(3) for _sys_signame[] (avoid glibc regression)
    - [RT] Port to SerenityOS
    - [tg] Build.sh work around FreeBSD make(1) using set -v
    - [tg] Warn about [^…] shellglobs because some people currently are
      trying to change POSIX to force GNU bash behaviour there instead of
      (currently) permitting both traditional/ksh and GNU bash behaviour ☹☹☹
    - [tg] Correct set -o allexport description
  * debian/printf.c: Update from MirBSD CVS to support new warning framework
  * Sync debian/copyright accordingly

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 31 Jan 2022 17:04:23 +0100

mksh (59c-14) unstable; urgency=low

  * Use klibc’s optimisation flags as intended despite -g
  * Rely on fixed SSP detection (see below)
  * Fix some build issues:
    - musl and glibc mksh-static weren’t MKSH_SMALL(_BUT_FAST)
    - better escaping
    - fix ordering when appending/prepending to CFLAGS
    - refactor CFLAGS/LDFLAGS mangling for static builds of lksh
    - improve comments in d/meat
  * Updates from CVS HEAD:
    - [tg] Improve autodetection of whether SSP/ProPolice is supported
    - [tg] Work around broken _POSIX_VDISABLE definition in glibc/kFreeBSD
    - [tg] "C" is the implementation-defined default locale, unless the new
      MKSH_DEFAULT_UTFLOC macro is defined, for setlocale-less operation
    - [tg] Add debug-buffer editing command #ifdef DF (for developing mksh)
    - [tg] Correct off-by-one, unroll loop in escaping code
  * Check glibc’s default locale matches the one in mksh-static/lksh-static
  * Test argv[0] can be changed (cf. #970460)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 16 Oct 2021 04:53:47 +0200

mksh (59c-12) unstable; urgency=low

  * Package CVS HEAD (again with locale tracking):
    - [tg] Ensure the shell exits nōnzero on internal errors everywhere
    - [tg] Drop duplicate, reversed, SIGINT/SIGQUIT handler munging on
      exec which was only right most of the time (Closes: #992885)
    - [tg] Drop sigaction(2)/bsd_signal(3) failure warnings with reason
    - [tg] Fix exit (and set -e etc.) in valsubs
    - [tg] Clean up _POSIX_VDISABLE handling
    - [tg] Redo fd saving handling; issues spotted by komh (OS/2), ymd
    - [tg] Remove BOM handling entirely
  * Try adapting lintian/sid overrides (though #995850)

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 11 Oct 2021 00:22:01 +0200

mksh (59c-11) unstable; urgency=low

  * Stopgap to not error out on “trap true KILL”, unbreaks startx

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 04 Oct 2021 19:03:31 +0200

mksh (59c-10) unstable; urgency=low

  * Package CVS HEAD (again with locale tracking):
    - [tg] Document MKSH_ASSUME_UTF8 will need to go away with full locale
      tracking; (see Debian) locale will be federführend even in scripts…
    - [tg] Correct several minor/cosmetic issues
    - [tg] Add generator code for character classes, more consistent
    - [tg] Use small stack buffers over allocating to reduce malloc pressure
      in several more codepaths
    - [tg] Add character class documentation to the manpage
    - [tg] Small optimisations (less duplication; optimise for the common
      codepath instead of the uncommon one) in code and testsuite
    - [tg] EBCDIC: codepage consistency check, diagnostic; document more
    - [tg] Plug a couple memory leaks; slightly increase performance
    - [tg] Massive code and comment improvements during work on fixing the way
      special characters (control characters, invalid UTF-8, etc.) are handled
      or escaped, including emacs mode cursor positioning and output
    - [tg] Reduce memory allocator pressure by using more on-stack buffers
    - [tg] Improve outputting job information
    - [tg] Harmonise some error reporting and use string pooling more
    - [tg] Make rotating by 0 avoid C UB… *sigh*
    - [tg, RT] Add new Build.sh option -A
    - [RT, tg] Port to SCO OpenServer 3.2r4.2 and Xenix (crossbuilt for now)
    - [tg] Fix FAQ2HTML.sh on præ-POSIX sh(1)
    - [tg] Make testsuite not fail on rangeless tr(1) or symlinkless system
    - [tg] Allow for <sys/select.h> substituting <sys/time.h> if both may not
      be included at the same time (scosysv 3.2r4.2)
    - [tg] Elide some configure-time tests on OEs where they are known
    - [tg] Not only is fgrep(1) unportable, but so is grep(1) -F…
    - [tg] Calculate the most negative number w/o triggering UB (I want Ͻ…)
    - [tg] Improve signedness‑ and const-cleanliness of code
    - [tg] Add strstr(3) and memmove(3) if missing
    - [tg] Clear a few more tty flags on makeraw; inspired by ksh93
    - [tg] Skip the rename builtin if rename(2) syscall is missing
    - [tg] Add a signal handling abstraction; still require sigaction(2) in
      the normal case, whitelist OSes with reliable signal(3) bsd_signal
    - [tg, RT] Xenix has reliable signals but broken termios(4); cope
    - [tg] Speed up configuring: skip a few checks for ancient compilers
    - [RT, tg] Update and promote to working the port to Syllable Desktop;
      improve the situation for LynxOS 3.0 and BeOS 6.2 “Zeta” and, slightly,
      for BeOS 5.1 “Dano” and 5.0 “Maui”
    - [tg] Check whether exec -a newargv0 prog args… works separately so it
      isn’t caught through sh-mode-1 indirectly only; split that
    - [tg] Begin switching to… slightly less insane… integer types
    - [RT] Port to SkyOS (fragile), SerenityOS (begun), Minoca OS (good)
    - [tg] Sanity-check some usual tools before using (build, test)
    - [tg, RT, komh] Handle broken-but-extant getrusage(2)
    - [tg] Make times(3) use work in the absence of CLK_TCK
    - [tg] Actually act on getrusage(2) and times(3) errors
    - [tg] When tabcompleting, set the mark to the beginning of the inserted
      substring (the cursor is at or just one space past the end), similar
      to how other editing commands behave; for xthechar on IRC
    - [tg] When importing env vars, first match now wins, like in libc
    - [tg] Exporting parameters to the environment now uses a stable order
    - [tg] Move kill-region default binding to Esc+^W because ^W is usually
      taken by WERASE, to unconfuse
    - [RT, tg] Work around NeXTstep cc(1) more
    - [tg] Testsuite: C.UTF-8 is now the default UTF-8 locale on all operating
      systems except HP/UX where it still defaults to en_US.utf8 and Darwin
      (Mac OSX) which uses just UTF-8 for some reason‽
    - [tg] Run all tests with LANG=C since musl defaults to C.UTF-8 if all
      locale parameters are unset (and talk about Debian glibc to do the same
      exists and I’m considering this for MirBSD maybe as well)
    - [tg] Make base-1 integers pass typeset -p reentry-safe
    - [tg] Fix manual page misrendering a few Ns macros with GNU groff
    - [tg] Uncouple HAVE_SETLOCALE_CTYPE=0 from (soon to be gone)
      -DMKSH_ASSUME_UTF8={0|1}
    - [RT] Make it easier to work around a broken $Config{perlpath}
    - [tg] Use extended caret notation in bind input and output
    - [tg] Prepare for moving raw octet mapping off U+EF80‥U+EFFF to
      U-00200080‥U-002000FF but don’t actually do it until R60 release
    - [tg] Use extended caret notation in the command line editor, etc.
    - [tg] Restore transpose ability to work for nōn-UTF8 characters
    - [tg] Make input handling more reliable, prepare some for 21-bit UCS
    - [tg] Do not attempt to fcntl(2) on just-closed file descriptors…
    - [tg] Warn if setting or clearing the close-on-exec flag fails
    - [tg] Fix test for character device in mksh -T
    - [tg] Address Coverity Scan checkers’ complaints
    - [tg] Make casting around, EBCDIC, DEBUG builds more reliable
    - [tg] Protect tab completion with extended caret notation escaping,
      reported by lanodan on IRC
    - [tg] Make Build.sh -g more useful-ish with other compilers and prefer
      -Og over -O2 for optimisation then
    - [tg] Revert turning on POSIX mode turns off UTF-8 mode from R56
    - [tg] Advance to renaissance locale tracking; revert defining our
      implementation-defined default locale to C and use the OS’
    - [tg] Add ${var@^} for unambiguous extended caret notation
  * Identify as “+Debian” vendor version; should’ve done that earlier…
  * Bump Standards-Version, no change

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 04 Oct 2021 02:44:17 +0200

mksh (59c-9) unstable; urgency=medium

  * Cherry-pick bugfixes from CVS HEAD:
    - stop referring to dead IRC network
    - check lower bounds of input line array when backspacing
    - protect against hi-bit7 (stty) EOF character
    - show error message and exit nōn-zero on stdout write failure
      for builtin calls (Closes: #990265) + display correct errno
    - show error message in echo/print builtin on output write failure
      (it exits 1 already in that case)
    - ensure macro calls don’t have side effects in arguments
    - properly flush stderr and unwind for direct builtin calls
      (“ln -s /bin/mksh echo; ./echo …”)
    - fix truncation behaviour for internal snprintf equivalent
  * Update upstream contact info accordingly

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 10 Jul 2021 22:08:30 +0200

mksh (59c-8) unstable; urgency=medium

  * Fix a -Wpointer-sign in escaping code
  * Shrink escape diff (algorithm unchanged) for easier review

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 31 May 2021 02:42:55 +0200

mksh (59c-7) unstable; urgency=medium

  * Do not use sigsetjmp(…, 0) with klibc (cf. #988027)
  * Cherry-pick upstream memory leak fixes
  * Apply just enough upstream changes to address more escaping
    issues: for ${var@Q} and “typeset -p”, take UTF-8 mode (on/off)
    into account; don’t issue \uNNNN escapes outside of UTF-8 mode,
    don’t escape nōn-ASCII printable, that is, nōn-control characters;
    always escape C0 controls and DEL; escape C1 controls by default,
    but add an option “asis” to disable that (e.g. for DOS codepages)
    in nōn-UTF8 mode — note this will need fixing for tab completion,
    command line editing (in a subsequent upload)…
  * Work around hppa buildd issue (same as m68k, sh4)

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 30 May 2021 23:57:59 +0200

mksh (59c-6) unstable; urgency=medium

  * Clear “taint” on most actions mutating a variable

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 03 May 2021 03:26:28 +0200

mksh (59c-5) unstable; urgency=medium

  * Apply targeted fixes, intended for bullseye:
    - [tg] Plug some memory leaks
    - [tg] Harden conversion of imported variables to integer, like
      Perl “taint”: imported variables will now lose the value when
      converting to integer but they are not purely numeric
      (CVE-2019-14868 was a similar issue in AT&T ksh); honour
      -o posix for leading-zero as octal, though (but continue not
      when importing array indicēs)
    - [tg] Fix lexer token state corruption when reading new input;
      makes evaluate-region editing command actually useful
    - [tg] Fix proper escaping/quoting and tab completion for tilde,
      curly braces and \x02, either escaped or not
    Note: patches are reduced to minimum change for bullseye
  * Rebuild for outdated Built-Using

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 02 May 2021 23:52:52 +0200

mksh (59c-4) unstable; urgency=low

  * Update to upstream CVS HEAD
    - [tg] Make "C" the implementation-specified default locale for
      early-locale-tracking (note full locale tracking will have to
      use whatever the underlying OS’ is, if no setlocale(3) it’ll
      be just "C" again) and document possibly removing turning on
      POSIX mode disabling and presence of a BOM enabling UTF-8 mode
      with full locale tracking
    - [tg] Document OPTU-16 (U+EF80‥U+EFFF) mapping for raw octets will not
      be present once mksh will have switched to full 21-bit UCS / UTF-8
    - [tg] Add several bigword-based editing commands to Emacs mode
    - [tg] Improve documentation wrt. $ENV
  * Bring locale tracking code somewhat closer to what will eventually be
    in upstream code (once I manage to do the related changes around MirBSD
    base and its scripts, which needs some more time and tuits):
    - drop BOM enabling UTF-8 mode code
    - no longer deactivate UTF-8 mode on entering POSIX mode
      (rationale: the POSIX locale parameters will be the only deciding
      factor; even if, nominally, only the POSIX locale is compliant)
  * Apply locale tracking to nōn-interactive shells as well

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 13 Mar 2021 19:09:48 +0100

mksh (59c-3) unstable; urgency=medium

  * Update to upstream CVS HEAD
    - [tg] Defend against getcwd() syscall on Linux violating POSIX
    - [tg] Fix GNU/Hurd codepath path length type, realpath errno
    - [komh] Fix jobless build (missing ifdef)
    - [tg] Fix struct stat mtime member detection
  * Turn on locale tracking; upstream will do it in a few days anyway

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 07 Feb 2021 02:57:12 +0100

mksh (59c-2) unstable; urgency=medium

  * The “Monday 🙀” upload
  * Update maintainer scripts from jupp (template)
  * Bump Policy (no relevant changes)
  * Update to upstream CVS HEAD
    - [tg] Draw all prompt lines on clear-screen (spotted by akko)
    - [tg] Fix Lstripcom errorlevel, so it can be used with set -e
    - [tg, guillem] Fix TOCTOU when calling readlink(2)
    - [tg] Let regression-37 actually test what it was supposed to
    - [tg] Fix a misrendering in the manpage and use The Queen’s English
    - [tg] When restoring shell flags upon return from FKSH functions,
      never restore ±p (±o privileged) and fix restoring ±m (±o monitor)
    - [tg] More const-cleanliness
    - [tg] dot.mkshrc: no longer use the built-in cat(1)
    - [tg] dot.mkshrc: Lstripcom: don’t trash backslashes
    - [tg] dot.mkshrc: allow ^D on interactive use of utilities
    - [tg] dot.mkshrc: more “set -ueo pipefail” safety
    - [tg] dot.mkshrc: fix some more minor issues spotted reviewing
    - [tg] check.t: fix some test documentation, cross-reference POSIX
      more, fix if necessary, make some able to be run with other shells
    - [tg] Add RLIMIT_RTTIME as ulimit -R matching GNU bash
    - [tg, enh] Remove cat(1) and sleep(1) builtins; point users to the
      new portable MirBSD sleep download page — getting signal handling
      right for them as builtins would be hard and expensive
    - [tg] Darwin has st_mtimespec but not st_mtim in struct stat
    - [tg] Improve installation instructions printed for out-of-tree builds
    - [chet, tg] Make HISTFILE read-only in restricted shells
  * Update Build-Depends for bsdmainutils to bsdextrautils move
  * Bump debian/watch version=4 (lintian-requested)
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 25 Jan 2021 14:02:13 +0100

mksh (59c-1) unstable; urgency=medium

  * “Blue moon on Samhain” upload
  * New upstream release
    - [tg] Update character widths (Jamo bugfix)
    - [spellintian] Fixes
    - [Jonathan Perkin] Don’t use “test -e” in Build.sh
    - [Jonathan Perkin] Mac OSX-specific: ensure ulimit -m is present
      even if it is an alias of ulimit -v (10.4+), for compatibility
    - [Finn Thain, Stanley J. Johnson] Port to A/UX
    - [tg] Add older ulimit(2) support, if setrlimit(2) is missing
    - [tg] More EBCDIC-safeness (slightly…)
    - [PerlAcademy] Allow all tests to pass with very old Perl 5
    - [tg] Fix test.sh’s output of tested/expected shell version
    - [Stanley J. Johnson] Let A/UX default CC to gcc
    - [tg] Drop “is being ported” warning from A/UX and OS/2, they work
    - [tg] Include <pwd.h> only if MKSH_NOPWNAM is not defined
    - [tg] “command -v” must print absolute pathnames, even if $PATH
      contains relative pathnames under which the command in question
      was found (orbea)
    - [komh] Fix absolute pathnames relative to / on nōn-OS/2, too
    - [tg] Fix some more corner cases related to pathname normalisation
    - [tg] FAQ: “${@?}: bad substitution” documentation
    - [tg] Fix some constructs pointed out by https://www.deepcode.ai/
    - [tg] Clean, refactor, optimise some code
    - [tg] Allow ^Xe on empty command line; quote editor argument properly
    - [tg] FAQ: an IRC user suggests ^Xe for ad-hōc scripts and multiline
    - [tg] Eliminate many unnecessary calls to (re‑)allocate memory
    - [tg] Correct order during tree-printing of heredocs (LP#1783355)
    - [tg] Drop some possibly unreached and probably broken code
    - [tg] Increase FAQ2HTML.sh compatibility with pre-POSIX shells
    - [tg] Demote some (unlikely called) output code to !MKSH_SMALL
  * Drop -o from lo alias as coreutils’ ls(1) does not implement
    the option the same as BSD
  * Update “the Uhr” from MirBSD CVS
    - tg: sync with progress-bar,v 1.6

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 31 Oct 2020 06:49:43 +0100

mksh (59b-3) unstable; urgency=medium

  * “zelenka” upload
  * autopkgtests dislike stderr output (really Closes: #970268)

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 16 Sep 2020 18:57:00 +0200

mksh (59b-2) unstable; urgency=medium

  * d/mksh.postinst: u-a doesn’t like slaves pointing to same-links
  * adapt as-installed tests to skip known-bad binaries (Closes: #970268)
  * redo lintian overrides because someone seems to think it cute
    to let maintainers do unnecessary changes

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 15 Sep 2020 00:28:36 +0200

mksh (59b-1) unstable; urgency=medium

  * Upload to unstable
  * Move to debhelper 13
  * New upstream bugfix release
    - [tg] Handle other tmux $TERM types, pointed out by multi via IRC
    - [tg] Fix typo in FAQ
    - [tg] y='a\*b'; [[ $x = $y ]] regression (Martijn Dekker) fix
    - [l0kod] Defuse CLIP OS O_MAYEXEC support (cf. LWN)
    - [tg] Make set +o output a command to restore the currently set and
      (new!) cleared options, keep a reset state per session (experimental)
    - [tg] Correct documentation and code regarding to argv[0] parsing:
      first ‘-’ for login shells, then ‘r’ case-insensitively for restricted
      shell, then “sh”*, again case-insensitively, for BINSH_* modes;
      add tests
    - [tg] On OS/2, allow case-insensitive name for direct builtin call
    - [tg] Always skip startup files if direct builtin call
    - [tg] Avoid some sometimes-redundant startup codepaths
  * Drop hint-testsuite-triggers autopkgtest, it confused Debian QA tools
  * Remove no longer relevant section from README.Debian
  * Add ksh93-compatible alternative rksh if mksh provides ksh

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 17 May 2020 03:05:10 +0200

mksh (59-1) experimental; urgency=low

  * Upload to experimental
  * New upstream release
    - [tg] Repair out-of-tree builds (noticed by rsc)
    - [tg] Work around a glibc on Hurd issue in testsuite
    - [komh] OS/2 filesystem mtime granularity is two seconds (as in FAT)
    - [tg] Replace while with goto: Coverity was confused
    - [tg] Fix invocation of some builtins when external utility absent
    - [komh] Improve automatic executable suffix for test builtin
    - [tg] Style code, refactor, clean up, optimise
    - [tg] Use cached egid in test builtin
    - [tg] Make bind builtin output reentry-safe; safety fixes
    - [tg] If basename(argv[0]) after leading dash removal begins with
      an ‘r’ enable restricted shell flag; reported by pmjdebruijn via IRC
    - [tg] Fix code example in manpage for how tab completion escapes
    - [tg] Match full extglob pattern RHS of [[ string comparison like ksh93
    - [tg] Implement which with -a in dot.mkshrc
    - [tg] Remove global builtin (use typeset -g)
    - [tg] alias, command, whence: Print alias names quoted
    - [tg] Implement a new quote-region (Esc+Q) editing command
    - [tg] Document all built-in aliases (requested by msiism via IRC)
      and those aliases and functions shipped in dot.mkshrc; completely
      overhaul builtin and reserved word documentation, for consistency
    - [tg] The manual page now features properly spaced em dashes ☻
    - [tg] Document that test x = y doesn’t extglob, only [[ x = y ]] does
  * Install rmksh and rlksh symlinks
  * Update uhr from MirBSD CVS (performance; adjust to new release)
  * Add relevant entries to NEWS.Debian

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 15 Apr 2020 02:39:01 +0200

mksh (58-1) unstable; urgency=medium

  * New upstream release
    - [tg] Improve code performance, quality, robustness and correctness
    - [multiplexd] Add vi mode PgDn, similar to PgUp doing history search
    - [tg] Build.sh fixup unreliable test -n / -z
    - [multiplexd] Correct documentation of vi mode @c
    - [tg] Update to UCD 13.0.0
    - [tg] Use nanoseconds in test -nt / -ot (LP#1855325)
  * Work around debhelper issue #908845 (Niels Thykier)
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 27 Mar 2020 12:59:25 +0100

mksh (57-7) unstable; urgency=low

  * Update from MirBSD CVS HEAD
    - [tg] Correct backslash expansion documentation; caveat re. 16-bit UCS
    - [tg] Fix extra empty field on IFS-NWS trim expansion (Martijn Dekker)
    - [tg] Improve code performance, quality, robustness
    - [tg] Allow ${x:n} where n is an identifier (veedeeh)
    - [tg] Permit ‘+’ in alias names, but not leading (Aleksey Cheusov)
    - [tg] Fix here strings for $@ (LP#1857195), reported by jvdh
  * /etc/skel/.mkshrc: use canonical names of locales mentioned
  * Introduce DEP 8 autopkgtests

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 14 Mar 2020 02:29:40 +0100

mksh (57-6) unstable; urgency=low

  * Reorder lines in /etc/skel/mkshrc for even easier locale choice
  * Use “none” buildsystem to avoid unwanted make call (cf. #949635)
  * Register FAQ with doc-base
  * Complicate Built-Using detection to be reproducible wrt. usrmerge
  * Ignore nocheck option on m68k and sh4 for now
  * Ship variants with failed tests non-executable (could also not ship
    them, but this is better for debugging those; s390x comes to mind)
  * Update from MirBSD CVS HEAD
    - [tg, veedeeh] Document vi command line editing mode state better
    - [tg] Add FAQ2HTML.sh to convert mksh.faq to local valid XHTML+CSS
  * Use upstream faq2html instead of local prototype

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 03 Feb 2020 23:56:09 +0100

mksh (57-5) unstable; urgency=medium

  * Don’t omit musl from informative list of dependencies output
  * Update mksh from MirBSD CVS again, for latest fixes and changes
    - [tg] Begin work on support for neatcc (needs neatcc to evolve first)
    - [tg] Fix possibly not enough aligned access in struct job
    - [tg] Support going full setugid by running “set -p” once interactive
    - [tg] Document another (arcane, almost nowhere needed) definition
    - [tg] Improve code legibility and testsuite reliability and maintenance
    - [tg] Speed up trivial += cases (LP#1855167)
    - [tg] Some further code and memory optimisation and test coverage
    - [tg] Document that += is always string append (LP#1857702)
    - [tg] Fix “set -e appears active within eval but isn’t” reported by
      Martijn Dekker and another bug related to using set ±e inside eval
    - [tg] Handle parameter assignment in front of invocations of POSIX-style
      functions like ksh-style ones and external utilities; cf. #935115
    - [tg] Fix bad memory access for invalid syntax (LP#1857828, LP#1857826)
    - [Brian Callahan] Update MALLOC_OPTIONS-using testcase for newer OpenBSD
    - [tg] Support lacc as compiler (just detecting, no change), thanks Brian
    - [tg] Share __IDSTRING with jupp
    - [tg] Update string comparison/pattern documentation
  * 2020 in copyright
  * Import latest bugfixed printf.c from MirBSD CVS
  * Generate and ship FAQ as HTML for easy local reading
  * Bump Policy (no changes relevant for us)
  * Use new execute_{before,after}_dh_foo-arch targets for more reliability
  * Update maintainer script templates

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 23 Jan 2020 00:41:50 +0100

mksh (57-4) unstable; urgency=low

  * Update to CVS HEAD (fix lksh build without controlling tty)

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 24 Oct 2019 02:14:02 +0200

mksh (57-3) unstable; urgency=low

  * The “fixes BD-Uninstallable on kfreebsd-*” upload
  * Switch wheezy/precise+ to C.UTF-8 for testsuite and nuke locales B-D
  * Implement improved build log output about libc and testsuite results
  * Fail builds that positively fail the regression tests
  * Update to CVS HEAD (improvement in dot.mkshrc)
  * Bump Policy (nothing for us)

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 23 Oct 2019 21:56:33 +0200

mksh (57-2) unstable; urgency=medium

  * Drop “ancient package version preinst”, except for oldold…stable
  * /etc/skel/.mkshrc: improve (commented-out) locale (re)setting example
  * Update to a CVS snapshot as of 2019-09-16
    - [lintian] hyphen-used-as-minus-sign (on jessie, not later, ‽‽‽)
    - [tg] Fix system info gcc dump{machine,version} shell escaping level
    - [tg] Document KSH_VERSIONNAME_VENDOR_EXT in Build.sh
    - [tg] Be more explicit about the LTO bug exposed by check.t
    - [Todd C. Miller] Add -x (file locks) and AIX-specific -r ulimits
    - [tg] Handle Midipix as test environment and fix some warnings
    - [tg] Fix some Build.sh issues as Mirtoconf is now used by MirCPIO
      and MagicPoint
    - [komh] Improve CRLF to LF conversion
    - [komh] Ensure ECHO mode is enabled at startup so read has local echo
    - [komh] Let check.pl retain the PERLIO env variable
    - [komh] Unbreak nounset-1 test on systems with drive letters
    - [komh, tg] Make ulimit-3 test work without |& (that is, incomplete
      ports, i.e. those with -DMKSH_NOPROSPECTOFWORK)
    - [tg] Disable xxx-stat-1 test for now, fails when run as root
    - [tg] Drop Build.sh flags -c combine, -c lto
    - [Martijn Dekker] Exit 126 on execve(2) failure, not 1 (e.g. E2BIG)
    - [tg] Behave set and export/readonly-on-read-only-variables when run
      with command and command dot, bugreports by Martijn Dekker
    - [tg] dot.mkshrc: simplify; enhance (un)setting locale example
    - [tg, selk] Catch build errors earlier
    - [tg] Add -fno-lto (if GCC is detected) to CFLAGS and LDFLAGS
    - [tg] Limit HISTSIZE to 65535, as long pre-announced
  * Use filter (not findstring) gmake function to check list variables
  * Very grudgingly, rewrite d/rules using dh7-style
  * Use sed --posix always to avoid GNU extensions breaking valid regexps
  * Update list of architectures for dependencies
    - assume dietlibc is recent enough on hppa
    - add musl on riscv64
    - drop belocs-locales-bin and mentions of avr32
  * Bump Policy which forced dh7 down our throats

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 26 Sep 2019 00:52:17 +0200

mksh (57-1) unstable; urgency=medium

  * The “basta!” upload
  * Update to latest upstream release:
    - [tg] Fix MKSH_EARLY_LOCALE_TRACKING warning
    - [tg] Document that, when your Unix is broken, GIGO applies (LP#1817959)
    - [tg] Improve error message for inaccessible executables (LP#1817789)
  * Eliminate all local patches thusly

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 01 Mar 2019 17:32:43 +0100

mksh (56c-3) unstable; urgency=medium

  * Update to a CVS snapshot as of 2019-01-05
    - [tg] Trick a GCC warning, to make up for it ignoring lint(1) hints
    - [tg] Add O_MAYEXEC support for CLIP OS
    - [tg] Make dup-to-self with ksh-style fd≥3 closing work; catern via IRC
    - [tg] Add compat glue for newer GNU groff mdoc to the manpages
    - [tg] Trigger EXIT trap after single-command subshells (Closes: #910276)
    - [tg] Document set -eo pipefail caveat (LP#1804504)
  * Bump debhelper to 12 (requested by lintian)
  * Policy 4.3.0

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 05 Jan 2019 14:09:44 +0100

mksh (56c-2) unstable; urgency=low

  * The “stets vermißt, feiner Kerl” release
  * Update to a CVS snapshot as of 2018-10-20
    - [gecko2] Update operating environment reporting for the Macintosh
    - [Martijn Dekker] make ${foo#'bar'} in here document behave like ksh93
    - [Martijn Dekker] quote empty strings for re-entry into shell
    - [tg, G.raud Meyer] Improve documentation, especially for tty states
    - [tg] Protect against entering line editing with bad saved tty state
    - [tg] Fix set -o allexport for arrays (which we apparently do)
    - [tg] Handle lseek(2) returning -1 as pointed out by Coverity Scan
    - [tg] Fix left-padding UTF-8 strings
    - [tg, G.raud Meyer] Fix using the “-m” flag on the command line
    - [tg] Update to UCD 11.0.0
    - [multiplexd] Fix a segfault using ^W during search in Vi mode
    - [tg] Fix an error message; add a test for controlling tty
    - [tg] Permit unsetting LINES and COLUMNS, for those who need it
    - [tg] Fix manpage bug (RedHat BZ#1612173)
    - [tg] Minor spelling cleanup
    - [tg] Unbreak high-bit7 (nōn-ASCII) heredoc separators (LP#1779179)
    - [tg] Allow dumping high-bit7-char-containing strings in DEBUG mode
    - [tg] Add some testcases for behaviour questions popped up in IRC
  * Bump to Policy 4.2.1.2
    - handle new “terse” build option
    - R³:no
  * Update list of architectures on which musl is available
  * Add some UMEGAYA metadata
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 20 Oct 2018 22:48:04 +0200

mksh (56c-1) unstable; urgency=high

  * New upstream bugfix release:
    - [komh] Remove redundant OS/2-specific code, clean up others
    - [komh, tg] Fix drive-qualified (absolute and relative) DOS-style
      path support in realpath functionality, partially other places
    - [tg] Don’t substitute ${ENV:-~/.mkshrc} result again
    - [tg] Improve OS/2 $PATH (et al.) handling, drive-relative paths
    - [tg] Add MKSH_ENVDIR compile-time option for Jehanne and Plan 9
    - [tg] Update wcwidth data with bugfixed script (still Unicode 10;
      resulting values are identical to glibc git master for extant chars)
    - [Dr. Werner Fink] Raise some time limits in the testsuite
    - [Shamar] Add support for the Jehanne operating system
    - [komh] Set stdin to text mode before executing child processes on OS/2
    - [komh] Pass arguments via a resonse file if executing a child fails
    - [Dr. Werner Fink] Early locale tracking as a compile-time option
    - [tg] Fix regressions introduced with new fast character classes
  * Urgency high due to the bugfixes (credits Daniel Martí, Jakub Wilk)

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 14 Jan 2018 03:12:49 +0100

mksh (56b-4) unstable; urgency=low

  * Use http, not https, for the homepage, to make it accessible
    from Debian buster/sid OpenSSL
  * Update VCS-* to new repository caused by Alioth deprecation
  * Update from MirBSD CVS HEAD
  * Policy 4.1.3 (no change)
    - we require Built-Using for licence reasons in a non-negligible
      number of cases, so we’ve got to keep using it
  * Debhelper 11, insisted on by lintian
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 05 Jan 2018 21:34:02 +0100

mksh (56b-3) unstable; urgency=medium

  * The “I’m not gonna do the release dance until you tell me you’re
    done checking this” upload
  * Update from MirBSD CVS HEAD (Closes: #878947)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 21 Oct 2017 21:25:15 +0200

mksh (56b-2) unstable; urgency=high

  * Work around #813164 in /etc/skel/.mkshrc
  * Policy 4.1.1 (no change)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 03 Oct 2017 17:26:54 +0200

mksh (56b-1) unstable; urgency=medium

  * Add $(which editor) to the fallback editor list, lowest priority
  * New upstream bugfix-only release, celebrating 15 years of MirBSD:
    - [tg] Reference the FAQ webpage
    - [panpo, Riviera] Fix documentation bug wrt. Esc+Ctrl-L
    - [tg, Larry Hynes] Fix “0” movement in vi mode
    - [tg] Replace broken libcs’ offsetof macro with MirBSD’s
  * Handle “note:” compiler output for mirtoconf consistently
  * Bump S-V, no relevant changes

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 29 Aug 2017 16:11:40 +0200

mksh (56-1) unstable; urgency=medium

  * Upload to unstable
  * New upstream formal release:
    - [tg, Seb] Do not apply alias name restrictions to hash/tilde tracking
    - [tg] Restore ‘.’, ‘:’ and ‘[’ in alias names (“[[” is still forbidden)
    - [tg] Fix accidentally defanged $PATHSEP test
    - [tg] On ^C (INTR and QUIT edchars), shove edit line into history
    - [iSKUNK, tg] Begin porting to z/OS using EBCDIC encoding, incomplete
    - [tg] Redo fast character classes code, adding POSIX and other helpers
    - [tg] bind parses backslash-escaped ‘^’ (and ‘\’) as escaped
    - [tg] Building with -DMKSH_ASSUME_UTF8=0 no longer causes a known
      failure in the testsuite
    - [tg] New test.sh option -U to pass a UTF-8 locale to use in the tests
    - [tg] re_format(7) BSD: [[ $x = *[[:\<:]]foo[[:>:]]* ]]
    - [tg, iSKUNK] Use Config in check.pl only if it exists
    - [tg] New matching code for bracket expressions, full POSIX (8bit)
    - [komh] Exclude FAT/HPFS/NTFS-unsafe tests on OS/2 (and Cygwin/MSYS)
    - [tg] Update to Unicode 10.0.0
    - [tg, selk] Make readonly idempotent
    - [tg, multiplexd] When truncating the persistent history, do not change
      the underlying file, do all operations on the locked one; do not stop
      using the history at all if it has been truncated
    - [tg, J�rg] Turn off UTF-8 mode upon turning on POSIX mode
    - [Martijn Dekker, Geoff Clare, many on the Austin list, tg] In POSIX
      mode, make the exec builtin force a $PATH search plus execve
    - [tg] Fix GCC 7, Coverity Scan warnings
    - [tg, Michal Hlavinka] Track background process PIDs even interactive
    - [tg] Always expose mksh’s hexdump shell function; speed it up by
      working on the input in chunks; use character classes to make it
      EBCDIC safe
    - [tg] Revamp dot.mkshrc default editor selection mechanism
  * Policy 4.0.1; no changes AFAICT
  * Update lintian overrides, NEWS entry

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 09 Aug 2017 04:35:42 +0200

mksh (55-1) experimental; urgency=low

  * Upload to experimental during the freeze
  * New upstream formal release:
    - [komh] Fix OS/2 search_access() and UNC path logic
    - [tg] Undocument printf(1) to avoid user confusion
    - [Jean Delvare, tg] Fix printf builtin -R option
    - [tg] Make ${var@x}, unknown x, fail (thanks izabera)
    - [tg] ${var=x} must evaluate x in scalar context (10x Martijn Dekker)
    - [tg] Fixup relation between lksh and mksh, reduce delta
    - [tg] Improve manpage display; add OS/2 $PATH FAQ
    - [Jean Delvare] Fix bugs in manpage
    - [tg] Review tilde expansion, removing “odd use of KEEPASN” and introduce
      POSIX “declaration utility” concept; wait isn’t one
    - [tg] Add \builtin utility, declaration utility forwarder
    - [tg] Make $'\xz' expand to xz, not \0
    - [tg] Use fixed string pooling (requires the above change in host mksh)
    - [tg] POSIX declaration commands can have varassign and redirections
    - [Martijn Dekker] Add typeset -g, replacing homegrown “global”
    - [Harvey-OS] Disable NOPROSPECTOFWORK, APEX is reportedly fixed now
    - [tg] Display ulimit -a output with flags; improve Haiku
    - [tg] Drop old let] hack, use \builtin internally
    - [tg] Fix padding in Lb64encode in dot.mkshrc
    - [tg] Move FAQ content to a separate, new FAQ section in the manpage
    - [tg] Add new standard variable PATHSEP (‘:’, ‘;’ on OS/2)
    - [Martijn Dekker] Fix LINENO in eval and alias
    - [komh] Fix “\builtin” on OS/2
    - [tg] Improve (internal) character classes code for speed
    - [tg] Fix: the underscore is no drive letter
    - [tg] No longer hard-disable persistent history support in lksh
    - [tg] Introduce build flag -T for enabling “textmode” on OS/2 (supporting
      CR+LF line endings, but incompatible with mksh proper)
    - [tg] Merge mksh-os2
    - [tg] Permit changing $OS2_SHELL during a running shell
    - [tg] Fix multibyte handling in ^R (Emacs search-history)
    - [tg] Allow “typeset -p arrname[2]” to work
    - [tg] Make some error messages more consistent
    - [tg, komh] Disable UTF-8 detection code for OS/2 as unrealistic
    - [tg, sdaoden] Limit alias name chars to POSIX plus non-leading ‘-’
    - [tg, Martijn Dekker] Expand aliases at COMSUB parse time
    - [tg] Make “typeset -f” output alias-resistent
    - [tg, Martijn Dekker] Permit “eval break” and “eval continue”
    - [tg] Make -masm=intel safe on i386
    - [tg] Disambiguate $((…)) vs. $((…)…) in “typeset -f” output
    - [Jean Delvare] Clarify the effect of exit and return in a subshell
    - [tg] Simplify compile-time asserts and make them actually compile-time
    - [tg] Fix ^O in Emacs mode if the line was modified (LP#1675842)
    - [tg] Address Coverity Scan… stuff… now that it builds again
    - [Martijn Dekker, tg] Add test -v
    - [tg] Document set -o posix/sh completely
  * Update “uhr” from MirBSD CVS
  * Add NEWS entry with user-visible changes
  * Update lintian overrides
  * Apply scripting changes (“\builtin”, etc.) to /etc/skel/.mkshrc

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 12 Apr 2017 21:52:34 +0200

mksh (54-2) unstable; urgency=medium

  * Drop all '-specs=*' from CFLAGS and LDFLAGS, this nonsense
    causes FTBFS all over the place, e.g. in openssl1.0 too ☹

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 12 Nov 2016 02:37:10 +0100

mksh (54-1) unstable; urgency=medium

  [ John Paul A̲d̲r̲i̲a̲n̲ Glaubitz ]
  * Explain precisely which device nodes are needed in the chroot,
    and which permissions and ownership are required for openpty
    (cf. #841935, #817236)

  [ Thorsten Glaser ]
  * Fix wrong URL in debian/copyright
  * Move to debhelper compat 10 for stretch/sid
  * debian/control: Add explicit branches to VCS-* URIs
  * Remove obsolete dietlibc-specific warning message from the logs
  * New upstream formal release:
    - [tg] Simplify and improve code and manual page
    - [tg] Try GCC 5’s new -malign-data=abi
    - [tg] Allow interrupting builtin cat even on fast devices (LP#1616692)
    - [tg] Update to Unicode 9.0.0
    - [Andreas Buschka] Correct English spelling
    - [tg] Handle set -e-related error propagation in || and && constructs
      correctly
    - [tg] Initialise memory for RNG even when not targeting Valgrind
    - [tg] Shrink binary size
    - [Brian Callahan] Improve support for the contemporary pcc compiler
    - [tg] Fix side effects with lazy evaluation; spotted by ormaaj
    - [tg] New flags -c (columnise), -l, -N for the print builtin
    - [Larry Hynes] Fix English, spelling mistakes, typos in the manpage
    - [tg, ormaah] Return 128+SIGALRM if read -t times out, like GNU bash
    - [Martijn Dekker] Install both manpages from Build.sh
    - [Martijn Dekker] Document case changes are ASCII-only
    - [Ronald G. Minnich, Elbing Miss, Álvaro Jurado, tg] Begin porting to
      Harvey-OS and APEX (similar to Plan 9 and APE)
    - [KO Myung-Hun] More infrastructure for the OS/2 (EMX, KLIBC) port

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 12 Nov 2016 02:07:59 +0100

mksh (53a-1) unstable; urgency=medium

  * The “I need FTTH” release
  * New upstream release (Closes: #834161)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 12 Aug 2016 19:03:13 +0200

mksh (53-1) unstable; urgency=medium

  * The “Yellow Submarine” release
  * Upload to unstable
    - Build against musl as well
    - Do not consider builds that fail the regression test suite usable
    - Fixes in the Debian packaging
    - Re-enable debugging in dietlibc builds, should be less fragile now
    - Update lintian overrides
  * Update VCS-* URLs… again
  * Note dietlibc platforms added in experimental
  * Reorder static binary preference: klibc>musl>dietlibc>glibc
  * /usr/bin/diet is alternatives-managed now, adjust Built-Using generator
  * New upstream release:
    - [tg, TNF] Fix bounds checks in Vi editing mode
    - [tg] Handle combining characters at end of string or output correctly
    - [tg] Fix ${!#} ${!?} ${!-} (POSIX, prompted by izabera)
    - [tg] Fix shf.c-internal buffer overread on printing digits
    - [J�rg] Fix a typo in the testsuite
    - [arekm] Increase default edit line size (unless MKSH_SMALL)
    - [tg] Improve description of Emacs mode keybindings, especially ^U
    - [tg, arekm, jilles] Abort read builtin in case of read(2) errors
    - [tg, izabera, carstenh] Fix most of the ambiguous corner cases related
      to ${[pfx]var[op[word]]} (${@:-1} still unsupported)
    - [carstenh] Contribute some more testsuite coverage
    - [tg] WDS_TPUTS now emits QCHAR newline reentrant-safe
    - [tg] Fix var=<< implementation (LP#1380389)
    - [tg, FreeBSD] Make XSI test(1) extensions behave as if they were POSIX
    - [tg, izabera] Add $(<<<x) and $(<<EOF…) implementation
    - [tg] Lower minimum screen size accepted as “sane” from the OS to 4×2
    - [tg, Torsten Sillke] Simplify tilde-expanded parameters
    - [tg, Torsten Sillke] Fix default PS1 for substring matches
    - [tg] Apply defer-builtin-with-arguments logic to realpath builtin
    - [tg] Rework string pooling (own vs. compiler’s) (LP#1580348)
    - [tg] Feature: print -A, prints arguments as characters
    - [tg, izabera] Replace <<< and >>> as ROL and ROR operators with their
      new ^< and ^> spelling as per David Tribble’s proposal
    - [tg, slagtc] Clear-to-EOL under tmux to work around its anti-feature
    - [tg, p120ph37] Remove support for using file descriptors with more
      than a single digit, in preparation for named file descriptors
    - [tg] Correct, but simplify (at the potential cost of more tty I/O than
      strictly necessary, though never redundant and (probably) not more
      than before when it was miscalculated), line clearing and redrawing
    - [slagtc, tg] Implement new evaluate-region editing command Esc+Ctrl-E
    - [tg] Prefer external rename utility over the recovery builtin
    - [tg] Remove redundant full-line redraws
    - [tg, Natureshadow] Fix errorlevel of ‘.’ (“dot” special builtin) when
      the sourced script does not run any commands, for POSIX compliance
    - [tg] Refactor op tokens and edchars to shave off some more bytes
    - [tg] Fix some bugs in the manpage and some occasional/minor code bugs
    - [tg, Brian Callahan] Mark tests requiring new perl as !need-pass
    - [tg, slagtc] Add $KSH_MATCH and, to make it usable, ${foo@/bar/baz}
    - [tg, Score_Under] Fix bogus patch from OpenBSD: only NULL the global
      source in unwind when actually reclaiming its Area
    - [izabera] Mention in the manpage that integer bases go up to 36
  * Add NEWS entry with user-visible changes
  * Do not call script(1) with -q – we may need the debugging output
  * Work with dpkg-buildflags bugfix vs. reproducible builds effort again…

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 10 Aug 2016 20:41:14 +0200

mksh (52c-2exp3) experimental; urgency=low

  [ Christian Seiler ]
  * Add dietlibc/mips64el

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 12 May 2016 13:00:41 +0200

mksh (52c-2exp2) experimental; urgency=low

  [ Thorsten Glaser ]
  * Build against musl as well
  * Do not consider builds that fail the regression test suite usable
  * Fix a typo in the package description
  * A couple minor fixes to the Debian packaging
  * Re-enable debugging in dietlibc builds, should be less fragile now
  * Update lintian overrides

  [ Christian Seiler ]
  * Test another two, genuinely new, architectures for dietlibc

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 10 May 2016 10:39:12 +0200

mksh (52c-2exp1) experimental; urgency=low

  * Require dietlibc from experimental (for experimental uploads ONLY)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 12 Apr 2016 16:11:58 +0200

mksh (52c-2) unstable; urgency=low

  * Bump Policy; the Debian menu system is now deprecated, but we’ll
    continue using it, for a while; a Desktop file isn’t currently needed
  * Update to upstream CVS HEAD:
    - [tg] Unbreak multi-line command history broken by history flush
      (Closes: #783978) (again…)
    - [tg] Fix redefining POSIX functions that were Korn functions before
  * Build mksh-static against all supported libcs, for QA; add NEWS entry
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 12 Apr 2016 15:38:10 +0200

mksh (52c-1) unstable; urgency=low

  * New upstream bugfix-only release:
    - [tg] Shave 200 bytes off .text by revisiting string pooling
    - [tg, J�rg] Fix manpage for ditroff on Schillix
    - [tg, wbx] Use sed 1q instead of unportable head(1)
    - [tg] Implement underrun debugging tool for area-based memory allocator
    - [tg] Fix history underrun when first interactive command is entered
    - [tg, bef0rd] Do not misinterpret “${0/}” as “${0//”, fixes segfault
    - [tg, Stéphane Chazelas] Fix display problems with special parameters
    - [tg, Stéphane Chazelas] Catch attempt to trim $* and $@ with ?, fixes
      segfault (millert@ did this in 2004 for ${x[*]} already, so just sync)
    - [Martijn Dekker] Fix “command -p” with -Vv to behave as POSIX requires
    - [tg, jilles, Oleg Bulatov] Fix recusive parser with active heredocs
    - [tg] Flush even syntax-failing or interrupted commands to history
    - [tg, fmunozs] Fix invalid memory access for “'\0'” in arithmetics
    - [tg] Explicitly reserve SIGEXIT and SIGERR for ksh
    - [tg, izabera] Catch missing here documents at EOF even under “set -n”
    - [kre, tg] Document Austin#1015 handling (not considered a violation)
    - [tg, fmunozs] Fix buffer overread for empty nameref targets
    - [tg] Fix warnings pointed out by latest Debian gcc-snapshot
    - [tg, Martijn Dekker] Document upcoming set +o changes
    - [Martijn Dekker] Expand testsuite for command/whence
  * Remove now-irrelevant comment from debian/control
  * Update manpage from CVS incorporating lintian spelling fixes
  * Bump S-V (no changes needed); use SSL URIs for VCS (lintian)

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 06 Mar 2016 22:03:50 +0100

mksh (52b-1) unstable; urgency=high

  * New upstream bugfix-only release:
    - [tg] Recognise ksh93 compiled scripts and LZIP compressed files
      as binary (i.e. to not run as mksh plaintext script)
    - [tg] Document that we will implement locale tracking later
    - [tg] Add EEXIST to failback strerror(3)
    - [jilles] Make set -C; :>foo race-free
    - [tg] Don’t use unset in portable build script
    - [tg] Plug warning on GNU/kFreeBSD, GNU/Hurd
    - [tg] Document read -a resets the integer base
    - [J�rg] Fix manpage: time is not a builtin but a reserved word
    - [J�rg, tg] Make exit (and return) eat -1
    - [tg] parse “$( (( … ) … ) … )” correctly (LP#1532621), Jan Palus
    - [tg] reduce memory footprint by free(3)ing more aggressively
    - [tg] fix buffer overrun (LP#1533394), bugreport by izabera
    - [tg] correctly handle nested ADELIM parsing (LP#1453827), Teckids
    - [tg] permit “read -A/-a arr[idx]” as long as only one element is
      read; fix corruption of array indicēs with this construct
      (LP#1533396), discovered by izabera
    - [tg] Sanitise OS-provided signal number in even more places
    - [tg] As requested by J�rg, be clear manpage advice is for mksh
    - [tg] Revert (as it was a regression) POSIX bugfix from R52/2005
      related to accent gravis-style command substitution until POSIX
      decides either way (Austin#1015) and upload with high urgency
    - [tg] Handle export et al. after command (Austin#351)
    - [tg] Catch EPIPE in built-in cat and return as SIGPIPE (LP#1532621)
    - [tg] Fix errno in print/echo builtin; optimise that and unbksl
    - [tg] Update documentation, point out POSIX violation (Austin#1015)
  * Only create /usr/bin/ksh compat symlink if needed (Closes: #807185)
  * Add missed changelog entries for upstream to 52-1 entry
  * Update debian/copyright and README.Debian

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 20 Jan 2016 23:03:23 +0000

mksh (52-1) unstable; urgency=medium

  * Remove parallel=* from DEB_BUILD_OPTIONS for the reproducible people
  * Add myself as Maintainer (Closes: #764401)
  * Make ed a Recommends (Closes: #803726)
  * Update text in README.Debian
  * Make .mkshrc alias-safe
  * New bugfix upstream release
    - [_0bitcount] Move moving external link from mksh(1) to the #ksh
      channel homepage linked therein
    - [tg] Make setenv “set -u”-safe and fix when invoked with no args
    - [tg] Make “typeset -f” output reentrant if name is a reserved word
    - [oksh] Zero-pad seconds in “time” output to align columns
    - [tg] Check signals and errorlevels from OS to be within bounds
    - [komh, tg] Quote and document ‘;’ as PATH separator in some places
    - [oksh, tg] Simplify code to call afree() even if arg is NULL
    - [tg] Fix tree-printing and reentrancy of multiple here documents
    - [tg] Work around LP#1030581 by permitting exactly one space after
    - [tg, oksh] Code quality work, cleanups
    - [tg] New code for here documents/strings with several bugfixes
    - [tg] Stop using issetugid(2) for ±p checks, wrong tool for the job
    - [tg] Reintroduce some -o posix changes lost in 2005, plus fixes
    - [tg] Make “source” into a built-in command
    - [tg] Drop “stop” alias, lksh(1) functionality to auto-unalias
    - [tg] Fix \u0000 ignored in $'…' and print
    - [tg] Improve portability of Build.sh
    - [Jilles Tjoelker] Improve portability of testsuite
    - [tg] Fix tilde expansion for some substitutions (izabera, Chet, Geoff)
    - [tg] Improve reparsing of ((…) |…) as ( (…) |…)
    - [Martijn Dekker] Fix test(1) not returning evaluation errors
    - [tg] Fix ${*:+x} constructs (carstenh)
    - [tg] Make (( … )) into a compound command (ormaaj)
    - [tg] Repair a few parameter substitution expansion mistakes
    - [tg] OpenBSD sync: handle integer base out of band like ksh93 does
    - [tg] Protect standard code (predefined aliases, internal code,
      aliases and functions in dot.mkshrc) from being overridden by
      aliases and, in some cases, shell functions (i.e. permit overriding
      but ignore it)
    - [tg] Implement GNU bash’s enable for dot.mkshrc using magic aliases
      to redirect the builtins to external utilities; this differs from
      GNU bash in that enable takes precedence over functions
    - [tg] Move unaliasing an identifier when defining a POSIX-style
      function with the same name into lksh, as compatibility kludge
    - [tg] Korn shell style functions now have locally scoped shell options
    - [tg, iSKUNK] Change some ASCII-isms to be EBCDIC-aware or pluggable
    - [tg, Ypnose] Mention lksh build instructions on manpage and website
    - [tg] Overhaul signal handling; support new POSIX NSIG_MAX, add
      sysconf(_SC_NSIG) as a later TODO item
    - [tg] Fix signal bounds (1 ≤ signum < NSIG)
    - [tg] Improve manual pages, especially wrt. standards compliance
    - [tg, iSKUNK] Initial EBCDIC work for dot.mkshrc
    - [tg, iSKUNK] Add list of z/OS signals to Build.sh
    - [tg] Work around the sh(1) backslash-newline problem by moving
      the code triggering it out of *.opt and into the consumers
    - [colona] Bind another well-known ANSI Del key in the Emacs mode
    - [tg] Fix ${foo/*/x} pattern checks, spotted by izabera
    - [carstenh] Fix error output of cd function in dot.mkshrc
    - [tg] read partial returns in -N and timeout cases
    - [tg] Fix $LINENO inside PS1; spotted by carstenh
    - [tg] Ensure correct padding of at least 2 spaces in print_columns
    - [tg] Note issues with nested complex parameter expansions and
      follow-up bugfixes to expect
    - [OpenBSD] Some language fixes in documentation; comments
    - [tg] Reimplement multi-line command history (Closes: #783978) + fixes
    - [Martijn Dekker] Fix command -v for “shell reserved words”
    - [tg] In dot.mkshrc make use of latest feature: local options
    - [tg] Fix ""$@ to emit a word
    - [tg] Change cat(1) hack to look first and not ignore builtin
    - [KO Myung-Hun] Begin porting mksh to OS/2
    - [komh, tg] Some generic minor bugfixes from OS/2 porting
    - [tg] Document mknod(8) isn’t normally part of mksh(1)
    - [tg] Quote arguments to : in build/test scripts as well
    - [tg] Add cat(1) hack for printf(1)-as-builtin: always prefer external
    - [tg] Explicitly use binary mode for any and all file I/O in stock mksh
    - [Ilya Zakharevich] Use termio, not termios(4), on OS/2
    - [tg] Set edchars to sane BSD defaults if any are NUL
    - [tg] Implement support for PC scancodes in Vi and Emacs editing mode
    - [komh] OS/2 uses ‘;’ as PATH separator plus support drive letters
    - [tg] Correct some mistakes in the manual page
    - [tg] Fix a bug in the testsuite driver, spotted on EBCDIC systems
  * Update “uhr” example
  * Bump debhelper as lintian demands
  * Update copyright file against code
  * Allow build without script(1), despite being Essential, due to #807071

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 12 Dec 2015 23:42:09 +0000

mksh (50f-2) unstable; urgency=medium

  * QA upload.
  * Build-depends on libklibc-dev [linux-any] instead of explicitly
    listing all linux architectures.

 -- Aurelien Jarno <aurel32@debian.org>  Thu, 03 Dec 2015 22:58:50 +0100

mksh (50f-1) unstable; urgency=low

  * QA upload.
  * The “adieu not au revoir” upload
  * Update to the next release of the R50-stable branch:
    - [tg] Add a patch marker for vendor patch versioning to mksh.1
    - [tg] Document some more issues with the current history code
    - [tg] Remove some unused code
    - [tg] RCSID-only sync with OpenBSD, for bogus and irrelevant changes
    - [tg] Also disable field splitting for alias 'local=\typeset'
    - [tg] Fix read -n-1 to not be identical to read -N-1
    - [tg] Several fixes and improvements to lksh(1) and mksh(1) manpages
    - [tg] More code (int → size_t), comment and testsuite fixes
    - [tg] Make dot.mkshrc more robust (LP#1441853)
    - [tg] Fix issues with IFS='\' read, found by edualbus
    - [enh, tg] Fix integer overflows related to file descriptor parsing,
      found by Pawel Wylecial (LP#1440685); reduce memory usage for I/O redirs
    - [tg] Document in the manpage how to set ±U according to the current
      locale settings via LANG/LC_* parameters (cf. Debian #782225)
    - [igli, tg] Some code cleanup and restructuring
    - [tg, oksh] Handle number parsing and storing more carefully
  * Merge changelogs for forgotten actual uploads:
    - mksh (28.0-3) oldstable (etch)
    - mksh (40.2-2exp1) experimental
  * Merge changelogs for potential uploads:
    - mksh (40.9.20120630-8) wheezy
    - mksh (50d-6) jessie
  * Improve /etc/skel/.mkshrc structure and make it “set -u”-safer
  * Remove the pdksh transitional package; document as NEWS entry
  * Tell users that only lksh (and mksh-static, for rescue systems,
    initramfs, etc.) should be used as sh; document as NEWS entry
  * Cosmetic improvements to README, control, build scripts, etc.
  * Use -DMKSH_SMALL_BUT_FAST when using -DMKSH_SMALL, as this
    benefits almost, if not all, Debian architectures
  * Upload to unstable

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 08 Jul 2015 21:27:51 +0200

mksh (50e-2) experimental; urgency=medium

  * QA upload.
  * Backport upstream fix:
    - [tg] SECURITY: make unset HISTFILE actually work
  * Adjust shell version accordingly

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 07 Mar 2015 23:30:36 +0000

mksh (50e-1) experimental; urgency=high

  * QA upload.
  * Remove timestamps from README.Debian; should make builds reproducible
  * Filter out some more junk from README.Debian
  * Update to the next release of the R50-stable branch:
    - [tg] Fix LP#1381965 and LP#1381993 (more field splitting)
    - [jilles] Update location of FreeBSD testsuite for test(1)
    - [Martin Natano] Remove dead NULL elements from Emacs keybindings
    - [tg, Stéphane Chazelas, Geoff Clare] Change several testcases for $*/$@
      expansion with/without quotes to expected-fail, with even more to come ☹
    - [tg] Fix miscalculating required memory for encoding the double-quoted
      parts of a here document or here string delimiter, leading to a buffer
      overflow; discovered by zacts from IRC
    - [RT] Rename a function conflicting with a MacRelix system header
    - [tg] Use size_t (and ssize_t) consistently, stop using ptrdiff_t; fixes
      some arithmetics and S/390 bugs
    - [tg] Remove old workarounds for Clang 3.2 scan-build
    - [tg] Remove all Clang/Coverity assertions, making room for new checks
    - [tg] Fix NSIG generation on Debian sid gcc-snapshot
    - [tg] Make a testcase not fail in a corner case
    - [tg] Fix issues detected by GCC’s new sanitisers: data type of a value
      to be shifted constantly must be unsigned (what not, in C…); shebang
      check array accesses are always unsigned char
    - [tg] Be even more explicit wrt. POSIX in the manpage
    - [tg] Fix shebang / file magic decoding
    - [tg] More int → bool conversion
    - [tg] Let Build.sh be run by GNU bash 1.12.1 (Slackware 1.01)
    - [Stéphane Chazelas, tg] Fix here string parsing issue
    - [tg] Point out more future changes in the manpage
    - [tg] Call setgid(2), setegid(2), setuid(2) before seteuid(2)
    - [tg] Fix spurious empty line after ENOENT “whence -v”, found by Ypnose
    - [tg] Optimise dot.mkshrc and modernise it a bit
    - [tg] Use MAXPATHLEN from <sys/param.h> for PATH_MAX fallback
    - [tg] Some code cleanup and warnings fixes
    - [tg] Add options -a argv0 and -c to exec
    - [jsg] Prevent use-after-free when hitting multiple errors unwinding
    - [tg] Fix use of $* and $@ in scalar context: within [[ … ]] and after
      case (spotted by Stéphane Chazelas) and in here documents (spotted by
      tg@); fix here document expansion
    - [tg] Unbreak when $@ shares double quotes with others
    - [tg] Fix set -x in PS4 expansion infinite loop
  * Update README, Description, copyright and build scripts
  * Upload to experimental due to the jessie pre-release freeze

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 01 Mar 2015 16:38:11 +0000

mksh (50d-6) jessie; urgency=medium

  * QA upload.
  * Backport upstream fix:
    - [enh, tg] Fix integer overflows related to file descriptor
      parsing, found by Pawel Wylecial (LP#1440685)
  * Adjust shell version accordingly

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 19 Apr 2015 22:27:16 +0200

mksh (50d-5) unstable; urgency=medium

  * QA upload.
  * Backport upstream fix:
    - [tg] SECURITY: make unset HISTFILE actually work
  * Adjust shell version accordingly

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 07 Mar 2015 22:16:53 +0100

mksh (50d-3) unstable; urgency=high

  * QA upload.
  * Update to CVS HEAD, the freeze is nearing, and this is better
    than the previous upload already anyway:
    - [tg] Add more tests detailing behaviour difference from GNU bash
    - [tg] Introduce a memory leak for x=<< fixing use of freed memory
      instead, bug tracked as LP#1380389 still live
    - [tg] Add x+=<< parallel to x=<<
    - [tg, ormaaj, jilles] POSIX “command” loses builtin special-ness
    - [tg] Begin fixing LP#1381965 and LP#1381993 (more field splitting)
  * Urgency again high because of POSIX compliance bugfixes (last two)

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 23 Oct 2014 09:18:38 +0000

mksh (50d-2) unstable; urgency=high

  * QA upload.
  * Apply patch from LP#1381965

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 19 Oct 2014 19:57:24 +0200

mksh (50d-1) unstable; urgency=high

  * QA upload.
  * New upstream regression bugfix release:
    - [Goodbox] Fix NULL pointer dereference on “unset x; nameref x”
    - [tg] Fix severe regression in field splitting (LP#1378208)
    - [tg] Add a warning about not using tainted user input (including
      from the environment) in arithmetics, until Stéphane writes it up
  * Enable klibc builds on arm64 and ppc64el
  * Disable LTO build, it is still too unreliable
  * Orphan the package.

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 07 Oct 2014 17:21:21 +0000

mksh (50c-1) unstable; urgency=high

  * New upstream security release:
    - [tg] Know more rare signals when generating sys_signame[] replacement
    - [tg] OpenBSD sync (mostly RCSID only)
    - [tg] Document HISTSIZE limit; found by luigi_345 on IRC
    - [zacts] Fix link to Debian .mkshrc
    - [tg] Cease exporting $RANDOM (Debian #760857)
    - [tg] Fix C99 compatibility
    - [tg] Work around klibc bug causing a coredump (Debian #763842)
    - [tg] Use [197]issetugid(2) as additional check if we are FPRIVILEGED
    - [tg] SECURITY: do not permit += from environment
    - [tg] Fix more field splitting bugs reported by Stephane Chazelas and
      mikeserv; document current status wrt. ambiguous ones as testcases too
  * Policy 3.9.6, no changes
  * Use klibc on x32 again, to be binNMUable, and since it works good enough
  * Update lintian overrides

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 03 Oct 2014 18:56:34 +0000

mksh (50b-1) unstable; urgency=high

  * Bring back accidentally lost changelog entry for version 49-2
  * Note what was actually imported from CVS in the 50-4 changelog
  * Disable klibc builds on x32 for now, they’re essentially amd64
  * New upstream version; remaining change:
    - [tg, Jb_boin] Relax overzealous nameref RHS checks
  * Update /etc/skel/.mkshrc with example how to force UTF-8
  * Fix gitweb URL in README.Debian
  * Urgency high due to script regression since 50-1
  * Add NEWS entry for mksh script language changes in 50-1

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 03 Sep 2014 22:30:55 +0200

mksh (50-4) unstable; urgency=medium

  * The “Wollknäuel” upload, while preparing FrOSCon…
  * Update uhr to CVS HEAD, fixes a usage error
  * Update mksh to CVS HEAD, while here
    - [Ypnose] Fix operator description in the manpage
    - [tg] Change all mention of “eglibc” to “glibc”, it is merged back
    - [Colona] Fix rare infinite loop with invalid UTF-8 in the edit buffer
    - [tg] Make more clear when a shell is interactive in the manpage
    - [tg] Document that % is a symmetric remainder operation, and how to get
      a mathematical modulus from it, in the manpage
    - [tg, Christopher Ferris, Elliott Hughes] Make the cat(1) builtin also
      interruptible in the write loop, not just in the read loop, and avoid
      it getting SIGPIPE in the smores function in dot.mkshrc by terminating
      cat upon user quit
    - [tg] Make some comments match the code, after jaredy from obsd changed
      IFS split handling
    - [tg] Fix some IFS-related mistakes in the manual page
    - [tg] Document another issue as known-to-fail test IFS-subst-3
    - [tg] Improve check.pl output in some cases

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 22 Aug 2014 10:17:11 +0200

mksh (50-3) unstable; urgency=medium

  * Explicitly disable ProPolice SSP for dietlibc and klibc
    (the former already DTRT, but klibc doesn’t and breaks weirdly)
  * Change all mention of eglibc to glibc

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 04 Jul 2014 12:58:11 +0200

mksh (50-2) unstable; urgency=medium

  * debian/control: Move VCS-* fields to Alioth collab-maint git
  * Remove now useless RCS IDs; use upstream ones for files copied
  * debian/meat: Try LTO only for glibc builds (breaks klibc)

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 03 Jul 2014 21:34:49 +0200

mksh (50-1) unstable; urgency=medium

  * New upstream version R50:
    - [tg] Fix initial IFS whitespace not being ignored when expanding
    - [tg] MKSH_BINSHREDUCED no longer mistakenly enables brace expansion
    - [tg] Explain more clearly Vi input mode limitations in the manpage
    - [tg] Improve error reporting of the check.pl script (which needs a
      maintainer since I don’t speak any perl(1), really), for lewellyn
    - [tg] Use $TMPDIR in test.sh for scratch space
    - [tg, Polynomial-C] Check that the scratch space is not mounted noexec
    - [pekster, jilles, tg] Use termcap(5) names, not terminfo(5) names, in
      tput(1) examples, for improved portability (e.g. to MidnightBSD)
    - [tg] Avoid C99 Undefined Behaviour in mirtoconf LFS test (inspired by
      Debian #742780)
    - [tg] Fix ${!foo} for when foo is unset
    - [tg] Improve nameref error checking (LP#1277691)
    - [tg] Fix readonly bypass found by Bert Münnich
    - [Ryan Schmidt] Improved system reporting for Mac OS X
    - [nDuff] Explain better [[ extglob handling in the manpage
    - [tg] Remove arr=([index]=value) syntax due to regressions
    - [tg] IFS-split arithmetic expansions as per POSIX 201x
    - [OpenBSD] Add more detailed Authors section to manpage
    - [tg] Fix set ±p issue for good: drop privs unless requested
    - [tg] Improve signal handling and use a more canonical probing order
    - [tg] Fix return values $? and ${PIPESTATUS[*]} interaction with
      set -o pipefail and COMSUBs
    - [enh] Detect ENOEXEC ELF files and use a less confusing error message
    - [tg] Update to Unicode 7.0.0
    - [tg] Shut up valgrind in the $RANDOM code
    - [tg] Use -fstack-protector-strong in favour of -fstack-protector-all
    - [tg] Fix access-after-free crash spotted by Enjolras via IRC

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 29 Jun 2014 13:17:35 +0000

mksh (49-2) unstable; urgency=medium

  * The “waiting for $customer_project to be ready” upload
  * Update to upstream CVS HEAD:
    - [tg] MKSH_BINSHREDUCED no longer mistakenly enables brace expansion
    - [tg] Explain more clearly Vi input mode limitations in the manpage
    - [tg] Improve error reporting of the check.pl script (which needs a
      maintainer since I don’t speak any perl(1), really), for lewellyn

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 31 Jan 2014 17:19:27 +0100

mksh (49-1) unstable; urgency=medium

  * The “10 years EarthCache” upload (well, I was busy yesterday)
  * Depend on klibc on x32 now that it is built
  * Adjust docs around octal numbers in arithmetics (Closes: #732509)
  * New upstream version R49:
    - [tg] dot.mkshrc: fix two issues with the cd wrapper
    - [tg] Unbreak set +p (wider issue still to be addressed)
    - [Steffen Daode Nurpmeso] Use WCONTINUED with waitpid(2)
    - [millert] Add proper suspend builtin handling tty(4) and setpgrp(2)
    - [tg] Sanitise and slightly optimise control character handling
    - [tg] Add O_BINARY to all open(2) calls for OS/2 kLIBC support
    - [tg] Generate option strings for shell, set, ulimit at compile time
    - [Steffen Daode Nurpmeso] Drop ISTRIP termios(4) mode
    - [tg] Mention negative history numbers, octals in the manpage
    - [tg] Make check.pl work with Perl < 5.6.1 again
    - [tg] Detect getsid(2) and skip the oksh suspend builtin otherwise
    - [tg] Document that set -o noclobber is unsafe for tempfiles
    - [tg] Update to Unicode 6.3.0
    - [RT] Restore some portability
    - [tg] Fix parsing positional argument variable names
    - [tg] Sprinkle a few __attribute__((__pure__)); fix warnings
    - [tg] Fix build on OSX: always use our wcwidth code; only use our
      strlcpy(3) code if the OE doesn’t provide one (prompted by jonthn
      on IRC)
    - [tg] Optimise sh -c to exec even in MKSH_SMALL
    - [tg] Use new BAFH for hashing
  * New upstream version R48b:
    - [tg] Fix display issue with multi-line prompts and SIGWINCH
  * New upstream version R48:
    - [tg] dot.mkshrc: unbreak hd(1) function in UTF-8 mode
    - [Jens Staal, tg] Improve buildability on Plan 9 and support kencc
    - [tg] Clean up and improve build process and testsuite
    - [Michael Langguth] Add multi-layer ICO file from mksh/Win32
    - [tg, Steffen Daode Nurpmeso] Fix interactive shell exiting on ^C or
      syntax error when the EXIT pseudo-signal trap was set (to anything)
      (Closes: #715533)
    - [tg, Daode] Display longer command excerpts in job control
    - [tg] Rewrite Emacs mode display window sliding calculation code
    - [tg] dot.mkshrc: “doch” now keeps standard input (requested by gecko2)
    - [tg] Reduce memory usage and improve comments and documentation
  * New upstream version R47:
    - [tg] Do not accidentally remove lksh.1 for in-srcdir builds
    - [tg] Fix post-build non-‘-Q’ output for lksh
    - [tg] Silence some configure-time warnings for clang-3.2 and GCC
    - [tg] Prevent recursion loops for namerefs; found by ormaaj
    - [tg] Replace wcwidth code by mine based on Unicode 6.2.0
    - [tg, Alexander Polakov] Fix quoting in word part of ${var+word} etc.
      when the expression is in a quoted brace or a here document
    - [tg] Fix some compiler warnings; improve sig{,handler}_t detection
    - [tg] Keep SIGCHLD blocked in some more semi-critical code paths
    - [tg] Fix uninitialised variable causing random nōn-numerical input
      to be accepted and acted upon in the select built-in command
    - [tg] No longer chown(2)/chmod(2) the -T tty(4) argument
    - [tg] Don’t fork(2) if the -T tty(4) argument begins with ‘!’;
      eliminates the need for things like oneit_line/cttyhack/etc. on Linux
    - [jca] Fix “for var in; do” to not be interpreted as “for var; do”
    - [tg] Use %zu for printing size_t (ipv %lu with casting around)
    - [tg] use ${SIZE-size} for lewellyn’s cross
    - [fgsch, espie, millert, tg] Write more testcases
    - [millert] POSIX specifies that for && and || lists, only the exit
      status of the last command matters for “set -e”; fix and document
    - [millert] check.pl: Add -T flag to set the tmpdir; use mkstemp(3)
      and mkdtemp(3) instead of $$ in /tmp for tempfiles
    - [jca] Make $(<nonexistent) behave like $(cat nonexistent)
    - [tg] Let shf_open return an errno; display why file wasn’t read
    - [tg] Finally decide on regression-39 desired outcome (sync with
      AT&T ksh93 and GNU bash --posix as well as mksh behaviour)
    - [tg] Fix post{in,de}crement in not evaluated side of e.g. ternary
      operator (LP#1187729)
    - [tg] Fix “set -x” problems; add “set +o inherit-xtrace” (LP#1179287)
    - [tg] Simplify some code
    - [tg] Fix segfault related to mixing funsub/valsub and comsub
  * Policy 3.9.5 (no changes required)
  * Fix lintian warnings

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 11 Jan 2014 19:09:42 +0000

mksh (48b-0) unstable; urgency=low

  * The “International Geocaching Day” not-upload

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 17 Aug 2013 22:57:38 +0000

mksh (48-0) unstable; urgency=high

  * The “waiting for GCC and klibc to be fixed” not-upload

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 15 Aug 2013 00:15:42 +0200

mksh (46-2) unstable; urgency=low

  * The “Universal OS – freedom of choice” upload
  * Update to latest upstream CVS HEAD; changes:
    - [tg] Do not accidentally remove lksh.1 for in-srcdir builds
    - [tg] Fix post-build non-‘-Q’ output for lksh
    - [tg] Silence some configure-time warnings for clang-3.2 and GCC
  * Prepare lksh for being used as /bin/sh (with printf builtin);
    put into NEWS.Debian instruction to change the symlink
  * Drop printf builtin from mksh and mksh-static (they can still
    be used as /bin/sh but that brings back #532324; cf. #539158)
  * Update README.Debian and package Description accordingly
  * Write a message to buildd admins, to keep the chroot up-to-date
    (and remind them of the /dev/tty and /dev/ptmx necessities),
    to the build log
  * Make the localedef failure warning message more clear

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 22 May 2013 19:25:38 +0000

mksh (46-1) unstable; urgency=low

  * The “Omas” upload
  * Update to latest upstream stable release; changes:
    - [tg] dot.mkshrc: prevent lksh from running it
    - [tg] Add the lksh manual page to the mksh distribution
    - [tg] Make both lksh and mksh interpret numbers with a leading
      digit zero (‘0’) as octal precisely iff “set -o posix” is active
    - [tg] Point out the octal digit and the integer arithmetic differences
      from POSuX verbosely in the manual pages (point people who need
      octals to “set -o posix” and who need longs to lksh) and elaborate
      on the horrors of ISO C Undefined Behaviour which is allowed to
      delete all your data
    - [tg] Unbreak “set -o” (list flags) in lksh on LP64 machines
    - [tg] Implement Emacs mode PgUp as Vi insert mode Cur↑ for Yofuh
    - [tg] Allow setting both “set -o sh” and “set -o posix”, if done in the
      same command; shuffle around compatibility levels (mksh/lksh, with
      -o sh, with -o posix) again; permit a /bin/sh to set either or both
    - [tg] Sync lksh manual page with the exact code ifdefs
    - [tg] Change more use of signed integer to use unsigned instead
    - [tg] Implement “set -o pipefail” like AT&T ksh93 and GNU bash do
    - [tg] dot.mkshrc: provide hd(1) in Pure mksh™ for fallback
    - [tg] Implement VALSUBs (value substitutions): ${|REPLY=foo;}
  * Let /bin/sh use both -o posix and -o sh for better standards compliance
  * Improve README.Debian

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 02 May 2013 23:01:38 +0000

mksh (45-1) unstable; urgency=low

  * New upstream stable release; changes:
    - [tg] Make “set -x” print the commands run in escaped form
    - [tg] PS4 in dot.mkshrc is now timestamped
    - [tg] The &> GNU bash I/O redir is no longer parsed in -o posix,
      -o sh modes, lksh (breaks valid scripts)
    - [tg] Implement ${ …;} more efficiently (deleted-open files)
    - [tg] For shf, %#s (if you can get it past GCC’s printf format attribute)
      calls print_value_quoted, ignoring field width and precision
    - [tg] Catch “typeset =” (regression) with better error message
    - [tg, Tonnerre Lombard] add “doch” alias to dot.mkshrc which just repeats
      the last input line with sudo(8)
    - [tg] Use unsigned integers for all calculations, to avoid ISO C
      “Undefined Behaviour” (and implementation-defined behaviour) throughout
      (most of) the code; emulate signed integer arithmetics using unsigned;
      not-lksh only
    - [tg] Emulate signed modulo naïvely, for correct sign of the result
    - [tg] Add <<< and >>> for ROL and ROR (rotate left and right,
      respectively) operations, <<<= and >>> assignments; bitwise AND the RHS
      of a shift/rotate op with 31 (not for lksh)
    - [tg] Remove a warning by working around a workaround found in dietlibc
      which works around a bug in broken software such as GNU tar (really!)
    - [tg] Correct and simplify list and categorisation of built-in commands
      as POSIX special and “everything else” plus a flag to keep assignments
    - [tg] Handle ((foo)) as “let]” internally to avoid a conflict with user-
      defined functions called let (LP#1156707)
    - [tg] Clean up the code
  * Upload to unstable

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 26 Apr 2013 22:23:42 +0000

mksh (44-1) experimental; urgency=low

  * New upstream stable release; changes:
    - [tg] "$@" always generates words; bug spotted by engla in IRC
    - [tg] Optimise print_columns display to use the screen space better

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 05 Mar 2013 17:07:37 +0000

mksh (43-1) experimental; urgency=medium

  * New upstream stable release; changes:
    - [tg] Do not permit $'…' and $"…" in anything that looks like a
      string, as old scripts, like  ncurses’, depend on behaviour not
      guaranteed by POSIX regarding unescaped dollar signs there
    - [dalias] Make detection of function prototypes more reliable
    - [tg] Quote setenv arguments for eval properly in dot.mkshrc
    - [tg] Validate parameter names for typeset, export, etc.
    - [tg] Provide a classic BSD echo builtin for /bin/sh on MidnightBSD
    - [tg] When generating Makefrag.inc put list of check_categories inside
    - [tg] Actually test all echo(1) flavours and MidnightBSD /bin/sh hacks
  * Updated “Uhr” example script

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 19 Feb 2013 19:11:41 +0000

mksh (42b-1) experimental; urgency=medium

  * The “Acetylsalicylsäure++” upload
  * Drop B-D on pax, not really needed since I was forced to
    switch to full debhelper for 40.9.20121124-2 again
  * Add linux-libc-dev to B-U for klibc as it uses kernel headers
    (don’t do something similar for kFreeBSD or Hurd: unnecessary)
  * Merge changelog for upload: mksh (40.9.20120630-7) unstable
  * Use upstream .orig.tar.gz files unchanged
    - printf.c lives in debian/ now, symlinked in the CVS packaging
      repo ⇒ change meat to copy over for building
  * Simplify rules and watch files accordingly
  * New upstream must-have bugfixes stable release:
    - LP#1104543 fix was too strict (Closes: #700526)
    - Correctly initialise memory (Closes: #700604)
  * Add linux-libc-dev to “dependencies” output, too (see above)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 15 Feb 2013 23:37:12 +0000

mksh (41.9.20130210) experimental; urgency=low

  * The “remedies for frustration – bzr lessons-learned” upload
  * Debian-relevant changes from R41-stable branch:
    - Fix getn and some cases of possible array bounds trespasses
    - Fix “command shift”, reported by «ormaaj:#!/bin/mksh»
    - Fix regression wrt lists in functions and “set -e” (LP#1104543)
  * Update to mksh CVS HEAD; Debian-relevant changes:
    - Fix ${ precmd;} in dot.mkshrc to retain the errorlevel
    - Prefer const-clean sys_errlist[] to strerror(3)
    - Permit $"…" and $'…' everywhere except in the body of here
      documents that are not here strings
    - Use full recursive parser for double-quoted here strings,
      and reuse code between here strings and here documents
    - #ifdef DEBUG_LEAKS free all fds and memory on exit (LP#1106116)
    - Don’t close stdout/stderr with redirections, dup /dev/null instead,
      always, both in dot.mkshrc and the testsuite, it does break!
    - Handle ${ …;} like functions in that local and return DWIW;
      use it for the big chunk in $PS1 to avoid fork(2)ing (at cost of
      tempfiles; dot.mkshrc is a sample, adjust to your needs)
  * Merge changelog for upload: mksh (40.9.20120630-5) unstable

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 11 Feb 2013 14:41:10 +0100

mksh (41.1-6) experimental; urgency=low

  * Brown paperbag upload
  * Fix traps for “set +e”, too (Really Closes: #696823)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 01 Jan 2013 22:25:40 +0000

mksh (41.1-5) experimental; urgency=low

  * The “huh an m68k buildd is more fun than manual scheduling” upload
  * Update to otherwise unpatched head of mksh R41-stable branch:
    - [tg, RT] Bunch of portability and build system fixes
    - [tg] Fix running the ERR and EXIT traps in situations with set -e
      and possibly eval (Closes: #696823)
  * Update dot.mkshrc to CVS HEAD to have ${ precmd;} again
  * Add my Uhr as contributed example of what to do with mksh ;-)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 01 Jan 2013 21:31:41 +0000

mksh (41.1-4) experimental; urgency=low

  * The “maybe amd64 buildd chroot got upgraded by now…” upload
  * Update to head of mksh R41-stable branch:
    - fix mistake in hash collision resolution implementation

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 08 Dec 2012 19:05:46 +0000

mksh (41.1-3) experimental; urgency=low

  * The “waiting for clang-3.2 to pass NEW” upload
  * Update to head of mksh R41-stable branch:
    - we use -fno-asynchronous-unwind-tables for GCC now
    - some warning fixes, mostly -Wsign-compare

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 05 Dec 2012 20:06:09 +0000

mksh (41.1-2) experimental; urgency=low

  * The “Geier” upload (keep in experimental for now)
  * New upstream formal stable release; changes:
    - [tg] Fix an input command line editing display redrawing issue
    - [tg] Track the tty to keep $COLUMNS and $LINES up-to-date after
      a SIGWINCH even in scripts
  * Update to mksh R41-stable branch:
    - buildsystem warning fixes
    - fixes for issues discovered by LLVM+Clang scan-build
  * Update debian/watch file: distfiles are .tgz now
  * debian/meat: Fix $CC invocation for B-U generation and be more robust

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 04 Dec 2012 01:38:13 +0000

mksh (40.9.20121124-2) experimental; urgency=low

  * The “other littlest” upload
  * Redo packaging to use debhelper again (Closes: #690381)

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 26 Nov 2012 18:11:39 +0000

mksh (40.9.20121124-1) experimental; urgency=low

  * The “Marek” upload, to experimental, people please test test test!
  * New CVS snapshot:
    - [tg] Make dot.mkshrc usable with “set -o nounset” / “set -u”
    - [tg, Clint Adams] Clean up and optimise the error handling code
    - [tg] Fix and add some checks in the testsuite
    - [tg] Sort list of variables in the source code when possible
    - [tg] Add $BASHPID (for ormaaj) and $MKSH_UNIXTIME
    - [tg] Improve documentation, #ksh IRC channel homepage
    - [tg, RT] Minix 2 also doesn’t have gettimeofday(2) ⇒ check for it
  * Fix mailing list reference in lksh(1) manpage
  * Policy 3.9.4: introduce Built-Using header

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 24 Nov 2012 13:20:41 +0000

mksh (40.9.20121030-1) experimental; urgency=low

  * The “cnuke” upload, to experimental (for testing the changes by users)
    - TODO: bump S-V and introduce Built-Using header, now that it
      is (finally) standardised
  * New CVS snapshot:
    - [tg] Apply speed improvements and add MKSH_SMALL_BUT_FAST
    - [tg] Make quoted output of “typeset -p” AT&T ksh93 compatible
    - [tg] Implement ${foo@Q} like ${foo:Q} in make(1)
    - [tg] Remove some unused code; more int → bool conversion
    - [tg] Fix ulimit builtin usage to match what limits we actually know
    - [tg] Allow overriding /etc location, experts only (LP: #1039713)
    - [tg, Todd Miller] Avoid changing ps(1) output by accident
    - [tg, ft, Christian Neukirchen] Detect zsh 2.5.02/NeXTstep for Build.sh
    - [tg] Detect musl-gcc wrapper, define _BSD_SOURCE there, which is totally
           bogus, but musl, just like dietlibc, gets it wrong
    - [tg] Improve compile-time assertions
    - [tg] Repair select builtin without any choices given
    - [tg] Add -DMKSH_GCC55009 hack to avoid some compile-time assertions and
           introduce arith-mandatory in check.t to substitute for missing that
           compile-time check; will change (related to LP#1058035)
    - [tg] Rewrite lots of code to not rely on -fwrapv so much
    - [tg] Build.sh: Fix flock(2) detection on GNU/Linux
    - [Andrew Kudryashov] Manpage: fix default for HISTSIZE
    - [tg] Add debugging aid (split-screen mechanism using GNU screen)
    - [Andrew Kudryashov] Manpage, Website: point out correct mailing list
    - [tg, Andrew Kudryashov] Fix ~/nonexistant tab completion
    - [tg] Optimise sh -c “[^]\t\n"-$&-*;-?[\\|]*” to exec, inspired by
      Jilles Tjoelker (-DMKSH_DISABLE_EXPERIMENTAL to ostracise)
    - [tg] Fix $? inside eval (RedHat BZ#865121)
    - [tg] Implement ksh93 feature ${ foo;} (second attempt, exclude with
      -DMKSH_DISABLE_EXPERIMENTAL, using tempfiles this time), but do not
      use it in dot.mkshrc yet (until stable)
    - [tg] Run SIGINT check more reliably in the cat builtin (LP#1058815)
    - [tg] Handle ^C in here documents, COMSUB, arith (Closes: #691116)
  * Bump versioned B-D on libklibc-dev [armhf] to known-fixed
  * In .mkshrc, read /etc/debian_chroot if necessary, like GNU bash

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 30 Oct 2012 21:15:13 +0000

mksh (40.9.20120630-8) wheezy; urgency=medium

  * Backport upstream fix:
    - [tg] SECURITY: make unset HISTFILE actually work
    - [enh, tg] Fix integer overflows related to file descriptor
      parsing, found by Pawel Wylecial (LP#1440685)
  * Adjust shell version accordingly

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 19 Apr 2015 22:22:13 +0200

mksh (40.9.20120630-7) unstable; urgency=low

  * The “customer service” upload
  * Correct the fix for LP#1104543 (Closes: #700526)
  * Fix uninitialised memory access (Closes: #700604)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 15 Feb 2013 19:00:40 +0000

mksh (40.9.20120630-6) unstable; urgency=low

  * Revert the fix for LP#1104543 as it causes Debian #700526
    (not closing as it’s not a proper fix)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 15 Feb 2013 17:44:20 +0000

mksh (40.9.20120630-5) unstable; urgency=low

  * Bump versioned B-D on libklibc-dev [armhf] to known-fixed
  * Fix input command line editing display redrawing issue
  * Backport fixes to the regression testsuite and some new tests
  * Add bugfixes for error handling related issues:
    - behaviour of $? in eval (RedHat BZ#865121)
    - running the EXIT and ERR traps (Closes: #696823)
    - set -e vs. use of &&/|| in a function (LP#1104543)
  * Add appropriate regression tests for these fixes
  * Update the mailing list address in lksh.1 manpage
  * In /etc/skel/.mkshrc handle /etc/debian_chroot like bashrc does
  * Update copyright year

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 11 Feb 2013 14:14:37 +0100

mksh (40.9.20120630-4) unstable; urgency=low

  * The “Cookie” upload
  * Revert Debian derivate from Canonical that cannot be named-specific
    change to drop dietlibc B-D
  * Bump versioned B-D on dietlibc-dev [armhf] to known-fixed

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 13 Oct 2012 14:56:50 +0000

mksh (40.9.20120630-3debianderivatethatcannotbenamed1) quantal; urgency=low

  * The “GNU Chagrin Collection” upload
  * Merge from Debian unstable.  Remaining changes:
    - Remove dietlibc-dev build-deps, unnecessary for Debian derivate that cannot be named.
  * Move some compile-time checks to run-time (LP#1058035)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 29 Sep 2012 22:00:14 +0000

mksh (40.9.20120630-3) unstable; urgency=low

  * The “PHP Securiwhat?” upload
  * Apply cherry-picked fixes from mksh CVS (branch mksh-wheezy):
    - Upgrade to Unicode 6.1.0
    - Plug memory leak in tab completion code
    - Fix tab completion for tilde, related to LP#1025843
    - Fix reentry of here documents (LP#1030581)

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 03 Sep 2012 19:28:19 +0000

mksh (40.9.20120630-2) unstable; urgency=low

  * The “kutweer” upload
  * Apply cherry-picked fixes from mksh CVS (branch mksh-wheezy):
    - [tg] Fix CONSERVATIVE_FDS use-before-definition bug
    - [tg] Correct a regression when tab-completing (LP#1025843) and fix
      bugs in the same code wrt. completion display and other expansions
  * Document use of CONSERVATIVE_FDS in lksh manpage

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 20 Jul 2012 23:32:37 +0000

mksh (40.9.20120630-1) unstable; urgency=low

  * The “GC2TDN7” upload
  * Update to mksh CVS HEAD for manpage string improvements
  * Point to IRC and mailing list in the lksh manual page
  * Drop redundant -DMKSH_NO_LIMITS in klibc builds
  * Mention /etc/skel/.mkshrc in the pdksh upgrade message
  * Bump pdksh versioned dep on mksh, to have complete changelog
  * Rework some more texts and hints
  * Say hello to debianderivatethatcannotbenamed main, pdksh is gone

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 30 Jun 2012 17:30:11 +0000

mksh (40.9.20120628-1) unstable; urgency=low

  * The “meet a deadline” upload
  * Update to mksh-HEAD:
    - [tg] Legacy mksh: use “long”, not “int32_t”, for arithmetics
    - [tg] Legacy mksh: allow dummy set ±o emacs, gmacs, vi, …
    - [tg] fix trimming with positional parameters (Closes: #48453)
    - [tg] ensure that case end tokens are not mixed up (Closes: #220272)
    - [tg] make alias definitions in mksh -c work (Closes: #517009), hack
  * Show note about login shell transition in postinst (Closes: #679322)

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 28 Jun 2012 22:44:00 +0200

mksh (40.9.20120626-2) unstable; urgency=low

  * The “So long, and thanks for all the fish!” upload
  * Transition /usr/share/doc/pdksh to a symlink manually,
    as dpkg won’t do that for us (thanks Robert Luberda)
  * Disabling ProPolice/SSP for klibc’s a bit tricky, fix

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 27 Jun 2012 07:16:03 +0000

mksh (40.9.20120626-1) unstable; urgency=low

  * The “popcorn!” upload
  * Forgot in 40.9.20120518-2 to set $CC correctly when cross-building
  * By request of pdksh maintainer take over the pdksh binary package
    and make it transitional
  * Update to mksh-HEAD:
    - [tg] Fix some issues found by Coverity and some found while fixing
    - [tg] Build.sh options: -t target-filename (instead of mksh);
      -L to build a legacy mksh, current changes:
      > different $KSH_VERSION “LEGACY KSH” instead of “MIRBSD KSH”
      > purely for running ksh88 and pdksh scripts; no command line editing
      > use traditional “set -- $(getopt …); echo $?” mode always
      > do not keep file descriptors private
      > parse leading-zero-digit numbers as octal
      > no mksh extension -T
  * Write an lksh(1) manual page
  * Make build process better error-resistent

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 26 Jun 2012 21:12:43 +0000

mksh (40.9.20120518-2) unstable; urgency=low

  * The “what’s a bit or hurd hacking compared to m68k reviving” upload
  * Enable dietlibc and klibc on as many targets as possible, even any
    version not positively known to break the mtests, in debian/control
    and switch debian/meat to paranoia (shy of freeze) mode to use only
    eglibc unless the testsuite is allowed to be run
  * Also rebuild against the new klibc release 2.0
  * Use debhelper-less package build system
  * TODO: Add Built-Using header once that is documented

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 07 Jun 2012 00:26:49 +0000

mksh (40.9.20120518-1) unstable; urgency=low

  * The “lots of bugfixing” upload
  * Update to mksh-HEAD:
    - [tg] Fix some bugs in Build.sh
    - [tg, ciruZ] Switch from NZAT to NZAAT hash for better range
      coverage; turns out that the never-zero property of NZAT was
      not in fact needed for hash tables as implemented in mksh
      (also, align, and 75% are enough)
    - [tg] Add MKSH_NO_CMDLINE_EDITING, MKSH_DISABLE_TTY_WARNING
    - [RT] Port to Coherent UNIX
    - [tg] Enable some options by default for some ports, for
      instance, since BeOS can never have a controlling tty, the
      option disabling that warning
    - [tg] Some bugfixes, prompted by RT and Valgrind
    - [RT] Disable sigsuspend(2) on Syllable Desktop
    - [tg] Fix several issues with typeset -p (LP: #993847)
    - [tg, RT] Detect lcc, klibc
    - [tg] Check for klibc sigsuspend fix
    - [RT] Apply inline fix for lcc, e.g. with libc5
  * Require klibc again (sigsuspend availability is now checked)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 18 May 2012 16:53:35 +0000

mksh (40.9.20120414-3) unstable; urgency=high

  * The “I could probably use pause() instead” upload
  * Disable klibc except for a positive-list of architectures that
    are using RT signals already, due to non-RT sigsuspend brokenness
  * Drop m68k specific klibc workaround (it’s the above)
  * Urgency high as mksh-static is subtly broken on many platforms

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 05 May 2012 21:42:09 +0000

mksh (40.9.20120414-2) unstable; urgency=low

  * The “still more buggy than I had hoped” upload
  * When running mtests, time-limit every test to prevent hanging builds
  * Add back ppc64, packages.d.o brokenness had me fooled
  * m68k specific klibc workaround: -g but no -O are needed (gcc bug?)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 14 Apr 2012 18:48:37 +0000

mksh (40.9.20120414-1) unstable; urgency=low

  * The “ziek zijn zuigt” upload
  * d/source/format 3.0 (quilt), with local single-debian-patch
  * Honour DevRef §6.7.8.2.(4) wrt. top-level directory name
  * Base on mksh-current HEAD of today:
    - [tg] New Build.sh environment configurable: LDSTATIC (empty)
    - [tg] Improve LTO effect by always adding our copies of distributed
      utility function sources when linking statically (i.e. LDSTATIC is
      not empty)
    - [tg] Drop deprecated hack for lines beginning with an exclamation mark
    - [tg] No longer interpret numbers beginning with a 0 digit as octal
    - [tg] Attempt to use -fwrapv on more compilers
    - [tg, RT] Better portability to 386BSD
    - [tg] No longer use mkstemp(3) or tempnam(3) functions, do our own
    - [tg] Fix some bugs in the manual page
  * Try klibc and fix missing optimisation for size with it
  * Note klibc and dietlibc both disable ProPolice SSP

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 14 Apr 2012 16:58:58 +0000

mksh (40.5-3) unstable; urgency=low

  * The “Basti” intermediate upload
  * Add a minitest that select(2) works (fails on dietlibc/ppc64)
  * Patch up to mksh-current HEAD of today:
    - [tg, RT] Implement fcntl(2)-based advisory locking as an
      alternative iff flock(2) is not found (LP: #912691); keep
      trying to lock in the face of EINTR on OSes that throw it
    - [tg] Improve testsuite, build-time checks and debugging output
    - [tg, RT, winstonw] Improve portability to BeOS (broken),
      Cygwin (good), SCO OpenServer (good), SCO UnixWare (good),
      USL C, Plan 9 (broken), …
    - [tg] rlim_t is supposed to be unsigned
    - [tg] Some code and warning cleanup
  * Revert the 40.5-2 dietlibc test change as promised

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 29 Mar 2012 19:35:09 +0000

mksh (40.5-2) unstable; urgency=low

  * The “meow korn shell” upload
  * We build on DEB_BUILD_ARCH for DEB_HOST_ARCH, not the other way round,
    take this in mind when deciding based on the target system (DEB_HOST)
  * Add hotfix for regression in 40.5 wrt. tty initialisation handling
    - [tg] Fix severe regression wrt. initialising tty(4) states
  * Build-Depend on newer dietlibc upload for testing that (will be
    removed in the next upload when 40.6 is out); if needed, we can
    always block the 40.5-1 upload from entering testing
  * Build with --as-needed

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 25 Mar 2012 20:34:46 +0000

mksh (40.5-1) unstable; urgency=low

  * The “amused” upload
  * Patch up to mksh R40-stable branch of today:
    - [tg, RT, lewellyn] Better support for SkyOS, Minix 3, Ninix 3,
      QNX and various BSD/OS versions
    - [tg] Fix regression in mirtoconf output wrt. cached values (introduced
      with check if divmod fixup was needed)
    - [tg] Drop some Android-specific unused code (lsmod builtin)
    - [tg] More code cleanup and new developer-only debugging functions
    - [tg, Andrew Kudryashov] Fix some tab completion related escaping bugs
    - [tg, draenog] Honour COLUMNS and LINES from the environment in scripts
    - [tg, winstonw] The sleep built-in utility now blocks more signals
    - [tg] Warn when using another deprecated function that will be removed
  * New upstream distfile from the above
  * Patch up to mksh-current HEAD of today:
    - [tg] Drop “set ±o arc4random” (deprecated in R40)
    - [tg] Drop old Build.sh -long-options (deprecated in R40)
    - [tg] Change the internal hash algorithm from Bob Jenkins’ one-at-a-time
      to its NUL-counting, always-changing, never-zero, better-avalanching
      MirOS variant NZAT
    - [tg] Use $'…' for non-ASCII parameters for re-entry printing
    - [tg] Use sane spelling of “read-only” consistently
    - [tg] Improve tree -DDEBUG functions (internal/developer use)
    - [tg] Reduce stack usage a bit; speed up hash tables at size cost
    - [tg] MKSH_SMALL no longer implies -fno-inline
    - [tg] Support optional seed in ${parameter@#seed} for security
  * Consider yourself warned about the following things:
    - once klibc ships mkstemp() we will build mksh-static against it
    - soon, probably before the wheezy freeze even, we will disable
      deprecated code (which users of are warned about, at the moment)
  * Policy 3.9.3 (no relevant changes)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 24 Mar 2012 23:30:11 +0000

mksh (40.4-3) unstable; urgency=low

  * The “sleepy” upload
  * Several fixes for klibc support:
    - dpkg-buildflags adds -fstack-protector, klibc doesn’t like it
    - on m68k, klibc builds need -g or they croak
    - unbreak overriding which toolchains are used for mksh-static
  * Patch up to mksh R40-stable branch of today:
    - [tg, RT] Move mirtoconf checks and INCLUDES_ONLY parts of sh.h
      around to ensure prerequisites are always available
    - [tg, RT, ir0nh34d] Pass mksh.exe to testsuite, if such thing is
      generated, and deal with Cygwin passing just “mksh” in argv[0] in
      such cases
    - [tg] Imply -DMKSH_ASSUME_UTF8=0 on MSYS; optimise checks
    - [tg, Jb_boin] Fix regression introduced in R35b by jaredy’s
      security patch where TTIME trashed a non-TCOM string argument
      (e.g. in TFOR)
    - [tg] Better support for tcc; fix GCCism that accidentally crept in
    - [tg] Deal with UTF-8 when reporting jobs’ commands
  * Omit dietlibc and don’t depend on lsb-release on hppa, to give
    it some chances to catch up (and mark for revisiting)
  * Note that mksh-static has some features disabled in the package
    description (unless DEB_BUILD_OPTIONS contains nomksh-small)
    ‣ do we want to have a dynamically generated binary package desc?
  * Copyright year is now 2012

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 11 Feb 2012 16:59:31 +0000

mksh (40.4-2) unstable; urgency=high

  * The “busy” upload
  * Patch up to mksh R40-stable branch of today:
    - [tg, Jilles Tjoelker] skip readonly check in unevaluated ternary twig
    - [tg, anonymous] fix all remaining ifs.sh testcases
    - [tg] No longer try to build with GCC and C99 extensions
    - [tg, Jilles Tjoelker] Do not expand aliases in COMSUB twice
    - [tg] Honour UTF-8 multi-byte character boundaries when doing partial
      tab-completion insertions (LP: #909025) to fix RedHat BZ#745702
    - [tg] Fix R40 (BZ#496791) regression with IOACT in TIF (LP: #907224)
    - [tg, ft] Darn persistent history code worst offenders (LP: #906914)
    - [tg] Fix some gc-sections, GCC and Clang/scan-build warnings/issues
    - [tg, 28C3] dot.mkshrc hash functions: partially address LP: #909818
    - [tg] Only compile divmod(0x80000000, -1) code in when not unneeded
  * Merge from the squeeze and lenny-hardy backport packages:
    - The “dreaming of aufsbuilder” upload
    + Document that, even in all backports, the debconf questions for
      /bin/sh handling are now gone
    - The “motivated” upload
    + d/control: lsb-release is only needed on hppa at the moment
    + d/README.Debian: rework note on /bin/sh use for backports
  * Urgency high due to the severity of the assorted bugfixes

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 31 Dec 2011 02:53:56 +0000

mksh (40.4-1) unstable; urgency=low

  * The “not-so-little-any-more brother” upload
  * Update to mksh R40d (release):
    - [tg, Jilles Tjoelker] test(1) built-in behaves exactly as POSIX says
    - [tg] Move compile-time assertions to Build.sh from misc.c#ifdef DEBUG
    - [tg] Invocation documentation is at the bottom of Build.sh
    - [tg] test.sh: verbosely look for perl(1) interpreter to use
    - [tg] New tests for integers (base 1‥36, base unspecified, base OOB)
    - [tg] Correct error paths for typeset -n global state
    - [tg] Deprecate interpreting "010" as octal number, will go
    - [tg] Improvements re. integer handling; more explicit manpage text
    - [tg] Do not use caddr_t on Linux, so dietlibc stops bitching
    - [tg, Jilles Tjoelker] Catch division/modulo overflow 0x80000000/-1
    - [tg] Emacs mode ^O regression fix when the fetched lines are edited
  * Add missing upstream code change explanations to the changelog
    entries 40.3-1, 40.2-5, 40.2-4 (in lieu of upstream-changelog)
  * Fix two oversights that might (finally) get us line-buffered I/O
  * Disable use of <libutil.h> to avoid needing to B-C libbsd-dev
  * Use hardening=+all in DEB_BUILD_MAINT_OPTIONS querying buildflags
  * mtest.t: new brkcontin to catch breakage failing test.sh operation
  * Also, scan the test log and fail the build if the testsuite
    appears not having run at all (Closes: #651615)

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 11 Dec 2011 18:51:39 +0000

mksh (40.3-1) unstable; urgency=medium

  * The “Missing” upload
  * Update to “mksh R40c+”, snapshot of R40-stable branch:
    - [tg] Fix R40 regression misparsing $(case x in (x) :; esac)
    - [tg] New test.sh ‘-f’ option (same as ‘-C fastbox’)
    - [tg] Drop using set -o noglob inside pushd/popd/dirs
    - [tg] Use += more in dot.mkshrc and keep strings shorter
    - [tg] Correct interworking between local and set -A
    - [tg] Fix out-of-bounds memory access on strings of 32 KiB length
    - [tg] MKSH_DISABLE_DEPRECATED (for integrators)
  * debian/.mkshrc: proper ksh88-hack char extraction and reuse
  * debian/rules: use dh_prep ipv “dh_clean -k” iff it exists,
    ONLY to please the new build log checker not taking backport‐
    friendliness of packages into account
  * Use more loose dietlibc-dev build dependencies again, except
    on known-bad cases (armel armhf s390) and need-verification
    cases (no build logs available yet: hppa sparc64) and new
    arches (s390x) but not on those where _some_ intermediate
    versions were bad but both old and new versions work and the
    testsuite falls back to eglibc if broken (powerpc sparc)
  * Update package description - pdksh is orphaned, suggests mksh
  * Log toolchain versions in buildinfo

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 26 Nov 2011 19:28:57 +0000

mksh (40.2-5) unstable; urgency=low

  * The “Fernet-Branca” upload
  * debian/rules: cleanup (remove dh_installdirs)
  * debian/.mkshrc: use $'…' for PS1, like dot.mkshrc now does
  * Use new-style template for maintainer scripts (good comments)
  * Update to mksh R40-stable from today, which is close to R40c
    - [RT, Chris “ir0nh34d” Sutcliffe] Port to MSYS
    - [tg, Markus Duft, Bruno Haible] Interix select(2) bug workaround
    - [tg] Manpage fixes
    - [tg] Deprecate the “command line begins with ‘!’ for fc -e -” hack
    - [tg] Promote x=(a b); x+=(c d) to a core mksh(1) feature
    - [tg] Testsuite fixes for Hurd, MSYS; warning fixes for dietlibc
  * Build-Depend on today’s dietlibc to test-drive it, again

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 19 Nov 2011 22:48:44 +0000

mksh (40.2-4) unstable; urgency=low

  * The “visit us at OpenRheinRuhr” upload (AllBSD *and* Debian/m68k!)
  * Pull in mksh packaging CVS HEAD, to test-drive packaging changes
    (also gives us back PIE, relative to the last experimental upload,
    and tries dietlibc on both MORE and ALL architectures possible)
  * To also test dietlibc, version its B-D (this upload is not
    intended to be released with wheezy, there _will_ be another
    one before it, but it is needed to get dietlibc into shape
    for the wheezy and precise releases, and it delivers a fix)
  * Pull mksh CVS commit 1004EB9A7F80119200E, which fixes setting
    the base of several built-in integer parameters to 10 instead
    of retaining the one from the first assignment (regression)
    - [tg] Fix accidental behavioural change wrt some built-in parameters
  * Upload to unstable, despite the test status (also, this will
    not migrate to testing anyway, due to #633479)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 11 Nov 2011 22:50:09 +0000

mksh (40.2-3exp1) experimental; urgency=low

  * Expand dietlibc-dev B-D to armhf hppa and depend on experimental
    version, to test-drive that
  * Disable PIE hardening for now, until compiler bugs are addressed

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 09 Nov 2011 11:21:51 +0100

mksh (40.2-3) unstable; urgency=low

  * The “What a wonderful… day (or week?)” upload
  * Avoid warnings during build information logging
  * Update to R40-stable branch from 2011-10-25 23:00 for:
    - [jonthn, Snader_LB] Fix spelling mistakes
    - [cnuke] Fix bugs spotted during porting to OPENSTEP
    - [tg, jg71] Unbreak building stristr with MKSH_ASSUME_UTF8 defined
    - [tg] Fix most of the issues Jerker Bäck encountered on Interix
    - [tg] Wrap access(2) as it may return false positive for X_OK on root
    - [OpenBSD] Upper bound Emacs mode command repeat by input line length
    - [tg] Improve CPPFLAGS mangling in Build.sh
    - [Snader_LB] Several comment, documentation and website fixes/updates
    - [tg] Avoid identifiers and cpp(1) macros with two underscores in a row
      and those with a trailing underscore; they are reserved for the OS
  * Add “hardening=+pie,+bindnow” when calling dpkg-buildflags; reminded by
    RichiH (release goal); drop PIE for mksh-static (non-PIC obviously)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 25 Oct 2011 23:25:17 +0000

mksh (40.2-2exp1) experimental; urgency=low

  * The “I’ve just had some Kruškovac❣” upload
  * Build-Depend on the version of dietlibc in experimental and
    upload to experimental, to test the former

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 18 Sep 2011 20:09:57 +0000

mksh (40.2-2) unstable; urgency=medium

  * The “Someone bring me Kruškovac❣” upload
  * Update to R40-stable branch from 2011-07-26 17:30 for:
    - [tg, Wouter Verhelst] Fix <tt>${foo%\?}</tt> in <tt>-o sh
  * This makes mksh as /bin/sh not break on building d-i on m68k
  * Mention that mksh-small makes a faster /bin/sh on slow arches
  * Drop the mksh-as-/bin/sh debconf code and questions from the
    package in preparation for Goswin’s fix for that dash bug;
    drop our /bin/sh diversion, always

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 26 Jul 2011 21:41:01 +0000

mksh (40.2-1) unstable; urgency=low

  * debian/meat: Fix running the testsuite on Hurd
  * Do not call "update-alternatives --remove" on upgrade (cf. #568299)
  * New upstream stable version “Frankenheim Alt”:
    - [tg] Don’t busy-loop on nameref ARY=ARY (LHS = RHS)
    - [tg, yofuh] Tabcomplete ~foo like $FOO (LP: #710539)
    - [tg] Code cleanup, style, and minor assorted fixes
    - [tg] Tabcomplete ~foo/M↹ (with slash) economically
    - [tg] Add new [DEL: experimental :DEL] global builtin, doing the same
      as local (typeset, really – but that doesn’t deserve its name) does,
      except localising all parameters it touches
    - [tg] Better error messages with non-integral environment imports
    - [tg] $RANDOM environment import accepts any string now
    - [tg, Lucas Holt] Add setenv cshism to dot.mkshrc
    - [tg, Johannes] Allow ^C to interrupt the built-in cat(1)
    - [tg, Arkadiusz Miśkiewicz, Kacper Kornet] Fix mksh taking down the
      entire terminal, hard, when scripts use $COLUMNS and fork off utilities;
      regression introduced in mksh R37 (sorry, no regression test possible)
    - [tg, Arkadiusz Miśkiewicz] Properly mark need-ctty regression tests
    - [tg] MKSH_NO_EXTERNAL_CAT – Quell the external cat(1) calls magic
    - [tg, Arkadiusz Miśkiewicz] Yes, “echo” is not portable, document
    - [tg] Improve content and look of the manual page
    - [tg] Move /etc/{,suid_}profile to /system/etc/ on Android
    - [tg] Prevent more compiler warnings; catch build errors earlier
  * Build from R40-stable branch: get a fix for dot.mkshrc

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 25 Jul 2011 16:38:45 +0000

mksh (40.1-1) unstable; urgency=medium

  * README.Debian: Log check_categories to use with the testsuite
  * debian/meat: Restore skipping of catmanpage build
  * This is “Frankenheim” mksh R40:
    - [tg] Let code samples in check.t and dot.mkshrc take care of the
      new features; fix some longstanding bugs in them
    - [tg] Add missing flush in rewritten read builtin for prompting
    - [tg] Minix builds now automatically disable the ulimit builtin
  * Medium urgency due to the missing flush call (problematic UI)

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 12 Jun 2011 17:52:42 +0000

mksh (40~0.20110605-2) unstable; urgency=low

  * Upgrade to mksh R40 Release Candidate 3
    - [tg] [hash table limit]; work around bug in GCC 4.1 on Debian Etch
    - [tg] New -c lto option to use Link Time Optimisation (GCC) with
      automatic fallback to -c combine if unavailable
    - [tg] Improvements for -c dragonegg, -c llvm (with gcc+dragonegg,
      or llvm-gcc and clang, respectively), and TenDRA
  * Enable LTO, for real, this time

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 05 Jun 2011 20:47:53 +0000

mksh (40~0.20110604-1) unstable; urgency=low

  * Do not use libbsd any longer, mksh is self-contained
  * Update README.Debian, copyright
  * Upgrade to mksh R40 Release Candidate 2
    - [tg, hondza] Fix regression in tab completion result display
    - [tg, Frank Terbeck] Fix parsing x=(…) expressions
    - [tg, Jb_boin] Increase hash table limit; don’t crash when reaching it
    - Comment sync with OpenBSD ksh
    - Update testsuite tags (for Cygwin and other weird platforms)
  * Catch early build failures better

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 04 Jun 2011 20:15:03 +0200

mksh (40~0.20110529-1) unstable; urgency=low

  * Update to mksh R40 Release Candidate from CVS:
    - [tg, Kacper Kornet] Implement a new regression test attribute
      need-pass: {yes|no} and exit 1 if unexpected fails occur
    - [tg] Add ;& and ;| for case
    - [tg] Rewrite the read builtin and its documentation; adding
      -A (read IFS words into array), -a (read octets/wide characters
      into array), -N/-n (read only / up to z bytes), -t (read with
      timeout)
    - [tg] Add -e option to cd -P (POSIX 2011)
    - [tg] Update dot.mkshrc to use the new features
    - [tg] Fix gsf’s ifs.sh tests of the read builtin
    - [tg, cnuke] Improve support for AIX, Cygwin, IBM XL C
    - [tg] Add tests for x+=(y z) and ;;& extensions
  * Please help testing this, so the release can rock❣

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 29 May 2011 18:51:43 +0200

mksh (39.3.20110506-1) unstable; urgency=low

  * New CVS snapshot with more regression and bug fixes:
    - [tg] Correct skipping the UTF-8 BOM when identifying a file
    - [tg] Do not use <stdbool.h> any longer
    - [tg] Use double-underscore-framed __attribute__s
    - [tg] Always catch SIGALRM (for the sleep builtin)
    - [tg, wbx] Functions now inherit a global set -x
    - [tg] Do not explicitly initialise static globals to 0/NULL
    - [tg] Eliminate some dead code (functions, globals)
    - [tg] Correct more tree handling bugs and merge similar code
    - [tg] Add “+=” to concatenate scalars and append to arrays
    - [tg] Support empty here document delimiters
    - [Robert Luberda] Fix the four-argument form of test(1)
      (Closes: #465250) – patch and testcases taken from pdksh.deb
    - [tg] Drop the pre-POSIX ability to “test -t” without specifying “fd”
    - [tg] Defer dropping an alias in favour of a POSIX function to
      when the function is actually defined and check for the closing
      parenthesis too
  * Drop armhf dietlibc dependency, it’s broken
  * Drop hppa dietlibc dependency, there’s no known good version
  * Shorten debian/rules; update package description (mksh HEAD is
    at OpenBSD 4.9-current level)
  * Policy 3.9.2 with no changed relevant to us

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 07 May 2011 01:16:22 +0000

mksh (39.3.20110328-2) unstable; urgency=high

  * Turns out running history-subst-4 on the buildds is a bad idea…
    revert, and just live with the bug on hppa for now
  * Urgency as this fixes FTBFS from 39.3.20110328-1 which was high

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 28 Mar 2011 23:26:13 +0000

mksh (39.3.20110328-1) unstable; urgency=high

  * Back out dietlibc [hppa] dependency on experimental package
    to be able to upload to unstable
  * New CVS snapshot fixing all known regressions from the
    recent experimental changes, as well as some more fallout:
    - [tg] Fix mis-detection of gcc format attribute (false negative)
    - [tg] Include some Android specific hacks (no change on other OEs)
    - [tg, Jb_boin] In ${foo/bar/baz} expressions, when adjourning empty
      patterns to avoid running into a busy-wait loop, remember to skip
      the anchor characters (‘#’ or ‘%’) at the beginning, yet keep the
      special meaning replacing a string begin or end with a string has
    - [tg] Write a pattern optimiser that is run internally before calls
      to the pattern matching code always (currently, replaces a@(b@(c)d)e
      with abcde but keeps @(a|a), then (in a second pass) collapses
      adjacent asterisk (‘*’) wildcards into a single one; this fixes some
      of the symptoms of severe performance issues our pattern matching code
      has to the extent that it can prevent busy-looping (found by Jb_boin)
    - [tg, Chris “ironhead” Sutcliffe, Chet Ramey, Eric Blake, David Korn]
      Handle pathnames with exactly two leading slashes well (SUSv4 3.266)
    - [tg, Wayne Pollock, Bart Schaefer] Fix here documents, add testcases
    - [tg] Fix corner case ${##1}, add tests for that and ${##} and ${#?}
    - [tg] Bring back “test -H” ifdef S_ISCDF (for HP-UX) from pdksh
    - [tg] Align read-only variable behaviour with (future) POSIX
    - [tg] Permit ${foo%(*} on FSH (Debian Closes: #619947)
    - [tg, rsc] Allow skipping testcases that need a controlling tty
  * High urgency because the fix for ${foo%(*} is required since without
    it, keyboard-configuration=1.68+squeeze2 can fail to configure
  * Copy history-subst-4 to mtest.t to ensure hppa mksh-static is usable
  * Tweak build process to prevent more redundant checks
  * On unattended Hurd builds, skip testcases that need a controlling tty

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 28 Mar 2011 22:26:25 +0000

mksh (39.3.20110313-1) experimental; urgency=medium

  * New CVS snapshot:
    - [tg] Use the existing state machine, a recursive parser and retracing
      the input stream for correct x=(…$((…$(…)…))…) parsing
    - [tg, Jb_boin] complain about ${x:1:2:3} instead of crashing
    - [tg, Jb_boin] make optional printf(1) builtin __CRAZY=Yes clean and
      prevent it from crashing by reading past end of (invalid) format strings
    - [tg] abort(3) on rogue pointers #ifdef DEBUG
    - [tg] Correct some documentation, code commentary, etc.
    - [tg] Handle the UTF-8 Byte Order Mark in $(…) expressions
    - [tg] Speed up reading input by checking for the BOM only once
  * Urgency due to crash (SIGSEGV, glibc-malloc corruption) fixes

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 13 Mar 2011 17:06:35 +0000

mksh (39.3.20110308-2) experimental; urgency=low

  * Update architecture list for dietlibc (in experimental)
  * Depend on fixed hppa dietlibc (from experimental)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 08 Mar 2011 21:03:53 +0000

mksh (39.3.20110308-1) experimental; urgency=low

  * Fix build warnings
  * Add mtest-ascii1 to catch an unclear dietlibc bug on mips, powerpc
  * New CVS snapshot:
    - [tg] Port to MiNT / FreeMiNT (Atari m68k operating system)
    - [tg] Do not close filedescriptor #3 (controlling tty) on UWIN
    - [tg] Make the tree printing code safe for re-entrancy of output
    - [tg] Implement recursive parser for $(…) to fix RedHat BZ#496791
    - Note that MKSH_NOPROSPECTOFWORK disables |& (co-processes)
  * Upload to experimental (happy birthday, you three)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 08 Mar 2011 19:37:05 +0000

mksh (39.3.20110218-3) unstable; urgency=medium

  * Fix build when GNU bash in /bin/sh (still no idea _why_ though)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 04 Mar 2011 11:54:20 +0000

mksh (39.3.20110218-2) unstable; urgency=medium

  * When cross-compiling (DEB_{BUILD,HOST}_GNU_TYPE not the same)
    set mksh-firstbuilt to avoid “testing” non-native executables
  * mksh can do Multi-Arch: foreign as requested by vorlon
  * Install build information (actual compiler, flags, regression
    testsuite results, etc.) and regression testsuite as documen‐
    tation files (append build info to README.Debian)
  * Fix bug which resulted in always trying to build with combine
  * README.Debian: /bin/mksh-static can be /bin/sh too
  * README.Debian: Add notes about expected testsuite failures

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 03 Mar 2011 20:38:48 +0000

mksh (39.3.20110218-1) unstable; urgency=low

  * New CVS snapshot:
    - [tg] Limit history file size to 1 GiB for sanity
    - [tg] Add smores, a more(1)-like pager, as shell function to
      dot.mkshrc (not control character safe but tty aware)
    - [tg, David Korn] Make builtins directly callable; utf8-mode is
      determined by LC_ALL/LC_CTYPE/LANG environment variables in that case
    - [tg] If the interactive shell uses setlocale(3)/nl_langinfo(3)
      to divine utf8-mode, fall back to environment variables unless success
    - [tg] When called as a builtin, echo(1) behaves POSIXish
    - [tg] Replace some MirBSD utilities with links to mksh(1) and ensure
      some integration to keep compatibility
    - [tg] Add a microsecond capable sleep(1) builtin
    - [tg] Add selftest-direct-builtin-call regression test
    - [tg] If the built-in cat is invoked from a direct builtin call, it
      now properly handles the POSIXly demanded ‘-u’ option (as a no-op)
    - [tg] Support the PIPESTATUS array (like GNU bash)
  * Rewrite packaging to automatically test for usable libraries
    (klibc (not yet) or dietlibc, fallback to eglibc) for mksh-static
    and better test whether the binaries built against them is usable
  * Try dietlibc on PowerPC, S/390, sparc again (we test the binary)
  * Bring back basic klibc support (can be enabled by DEB_BUILD_OPTIONS)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 19 Feb 2011 17:36:19 +0000

mksh (39.3.20110209-1) unstable; urgency=low

  * New CVS snapshot:
    - [tg, Jörg-Volker Peetz] Emacs prev-hist-word resets the counter
      if other editing commands were run in between; repeat calling
      works, even together with arguments, now; arguments are 0-based
      (Debian Closes: #603801) – now for real ☻☺
    - [tg] Fix mis-sign comparison and potential truncation error
  * Support $debian_chroot in /etc/skel/.mkshrc (template)

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 09 Feb 2011 13:30:29 +0000

mksh (39.3.20110203-1) unstable; urgency=low

  * New CVS snapshot:
    - [tg] More int → bool conversion, whitespace and related code cleanup,
      error messages and typo correction
    - [tg] Don’t alias suspend on Android either (goes together with stop)
    - [tg] dot.mkshrc no longer exports $PS1, as recommended by Frank Terbeck,
      to avoid confusing other shells
    - [tg] The character width table is now in sync with Unicode 6.0.0
    - [tg] MKSH_SMALL doesn’t imply HAVE_REVOKE=0 any longer
    - [tg] Ignore a ‘$’ preceding ‘"…"’ (like bash, ksh93)
    - [tg] Make “foo=<<EOF” a direct assignment of here document (or here
      string) to string variable
    - [tg] Add KSHEGID, KSHGID, KSHUID variables (idea from Richard K.)
    - [tg] Option -d to read specifies a delimiter, like ksh93 (10x Dave)
    - [tg] Extension ${foo@#} expands to hash of $foo (mksh specific)
    - [tg] Emacs prev-hist-word now resets the counter if other functions
      were called in between (Debian Closes: #603801)
    - [tg] Introduce MKSH_NOPROSPECTOFWORK which implies MKSH_UNEMPLOYED
      and additionally disables job signals, sigprocmask(2), etc.
    - [tg] POSIX: trap 'echo foo' UNKNOWN is not a syntax error
    - [tg] Do not use <sys/file.h> unless it exists
    - [tg] dot.mkshrc: When we set a UTF-8 locale (e.g. for the GNU OS),
      we must also set -o utf8-mode to match it
    - [tg] Don’t append a space after tab-completing a parameter substi-
      tution that doesn’t contain a glob/extglob (LP: #710539)
  * add RCS IDs into more files
  * d/README.Debian: be more explicit about mksh-as-/bin/sh and
    mention we wait on klibc, to use it with mksh-static
  * d/control: add note on dietlibc B-D, which can be dropped
    e.g. if porting to Derivates that don’t have it, like UCS
  * d/control: update long description
  * d/copyright, d/rules: we use debian/rules get-orig-source" now
  * d/copyright: sync, 2011
  * d/rules: restructure a bit; add build-{indep,arch} targets
  * d/rules, d/x_getflag: use dpkg-buildflags if existent
  * d/po/it.po: update translation, grazie TetsuyO!
  * run debconf-updatepo

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 03 Feb 2011 18:38:45 +0000

mksh (39.3.20101101-1) unstable; urgency=low

  * New CVS snapshot:
    - [tg] In setres{u,g}id/setuid EAGAIN case, error out immediately
    - [OpenBSD] Some small manpage fixes
    - [tg] Clean up mirtoconf and build warnings with some compilers
    - [tg] Fix \c? vs. \c~ mis-documentation in mksh(1)
    - [tg] Remove the somewhat-portable setmode.c from the mksh source
      distribution and demote mknod(8) to an optional builtin, disabled
      by default, manually re-enabled in the installer only on MirBSD
    - [tg] Regenerate wcwidth table from Unicode 6.0.0
    - [tg] Change behaviour of argument-less exit in traps to match SUSv4,
      original patch from Jonathan Nieder (Debian Closes: #599484)
  * Integrate Vietnamese translation update, thanks Clytie Siddall
    (Closes: #601925)
  * Use lsb-release instead of dpkg-vendor for better reliability

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 16 Nov 2010 13:42:18 +0000

mksh (39.3.20100915-1) UNRELEASED; urgency=high

  * New CVS snapshot:
    - [Jeff Hamilton] Don’t alias stop on Android (system specific conflict)
    - [tg] Add size optimisations, ifdef’d, mostly for Android
    - [tg] Address what few concerns Chris Palmer (Android security team) had:
      check all multiplications and some additions for integer overflows,
      mostly in allocation context, and check setres{u,g}id/setuid for EAGAIN
      iff the target OS is known to be returning it (Linux only, right now)
    - correct a regression: 「read i?'foo:'」 was not working

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 16 Sep 2010 22:03:08 +0000

mksh (39.3.20100905-1) UNRELEASED; urgency=low

  * New CVS snapshot:
    - [tg] More int → bool conversion, whitespace and related code cleanup
    - [tg] Improve mksh(1) manpage coverage, remove mentions of not-mksh
    - [tg] Use wcwidth() from system on MirBSD
    - [tg] u_int32_t is no longer needed (only for OpenBSD’s pre-ISO-C99
      arc4random API, which we no longer call), so don’t provide it from
      Build.sh any longer
    - [tg, tonnerre] Scan for uint8_t and provide if not found
    - [tg] Fix realpath builtin for “/file/” arguments wrt. POSIX
    - [tg] Do not generate <stdint.h> from Build.sh as file any more if
      it is missing; rather let sh.h define the types appropriately and
      fix related compiler warnings
    - [tg] Add “cat” builtin (defers to external if options are given)
    - [tg] Reduce size by improved string pooling
    - [tg] Document 「x=$(eval $(cat)) <<'EOF'」 workaround for the $(…)
      parsing bug in the mksh(1) manual page and on the Red Hat Bugzilla
    - [tg] Add support for handling a “--” argument to more builtins
    - [tg] Correct some error messages
  * Move extra/printf.c.1.nn to debian/extra/printf.c for improved
    compatibility with source/format 3.0 and reduced build warnings
  * Build with -Wall -Wextra in all modes
  * Mention where strict aliasing warnings in dietlibc mode come from

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 05 Sep 2010 21:04:15 +0000

mksh (39.3.20100725-1) unstable; urgency=high

  * The “Portability?” release
  * Another new CVS snapshot:
    - [tg] More int → bool conversion
    - [tg] Fix window size not being checked during runtime
      of external programmes by not relying on SIGWINCH so
      much but instead checking before every interactive
      editing of a command line
  * High urgency because 39.3.20100721-1 isn’t yet in testing
  * Policy 3.9.1.0, no changes needed

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 29 Jul 2010 08:54:25 +0000

mksh (39.3.20100721-1) unstable; urgency=high

  * The “WTF is up with all these bugs spotted?” release
  * Another new CVS snapshot:
    - [tg] Fix NULL pointer dereference during iteration loop
      when checking for alias recursion; discovered by Michal
      Hlavinka
  * High urgency due to SIGSEGV crashes

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 21 Jul 2010 11:48:24 +0000

mksh (39.3.20100719-1) unstable; urgency=high

  * New CVS snapshot; summary of changes relevant to Debian:
    - [tg] Correct shf buffer I/O routines to avoid a memory
      corruption bug discovered by Waldemar Brodkorb and other
      bad effects (bug inherited from pdksh, anno 1999)
  * High urgency due to memory corruption and “set -x” fix

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 19 Jul 2010 22:51:03 +0000

mksh (39.3.20100717-1) unstable; urgency=low

  * The “「Don't drink and dupload ;-)」? I use dput anyway!” release
  * debian/rules: revert change disabling -combined on dietlibc,
    since it appears to be of no practical relevance
  * debian/rules: disable dietlibc on sparc due to weird problems
  * debian/rules: adapt build log scanner contraband to newer gcc
  * Switch from patch system to applying patches directly to the
    extracted source in “1.0” style (in the future, “3.0 (quilt)”
    can ease this) by using repackaged orig.tar.gz
  * Install upstream’s dot.mkshrc as /etc/mkshrc and source this
    from a new, minimal, /etc/skel/.mkshrc (debian/.mkshrc); idea
    by Michal Hlavinka (RHEL package maintainer)
  * Use repackaged upstream snapshot; changelog:
    - [tg] Remove arc4random(3) functionality; seed an LCG depending
      on the OS doing Address Space Layout Randomisation; speed up
    - [tg] Fix spelling in dot.mkshrc
    - [tg] Implement “live” window resize for the Emacs editing mode
    - [tg] More fixes for bugs found by Valgrind and LLVM+Clang scan-build
    - [tg] For script compatibility support “set ±o arc4random” during a
      transition period until R40 is out (but issue a warning to stderr)
    - [oksh] Add (, ), (( to reserved words in the manual page and fix
      some formatting errors with GNU groff’s mdoc
    - [tg] Make printf.c.1.15 use mksh’s shf_* routines instead of stdio
    - [tg] Fix -Wc++-compat except implicit casts from/to "void *"
  * Update printf.c file added; the new version actually uses mksh’s
    shf functions instead of libc stdio, saves about 11K in mksh-static
  * Adapt debian/* to new versions
  * Bump Standards-Version to 3.9.0.0 (no changes required)
  * Remove experimental, commented-out, klibc support for readability
  * Run debconf-updatepo; put something into Language: header lines
  * Lintian P: mksh: maintainer-script-without-set-e config

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 17 Jul 2010 23:27:41 +0000

mksh (39.3-4) unstable; urgency=low

  * debian/control, debian/rules, debian/mksh.install{,.in}:
    improve klibc builds (still disabled) and, for testing
    purposes, do full, dynamic, builds if klibc is enabled
  * debian/diffs/backport-fixes.diff: replace with upstream CVS diff
    between 39.3 and 20100522 and adjust manpage version number; changes:
    - [tg] Make default temporary directory configurable at compile time
    - [tg] Fix performance deficiencies in the built-in realpath function
    - [tg] Deprecate Build.sh -longoptions in favour of short ones:
      -valgrind becomes -g (like debug), -combine and -llvm become
      -c {combine,llvm} and the LLVM optimiser flags are passed via
      -O = -o -std-compile-opts
    - [tg] New Build.sh options -c dragonegg (for using the LLVM plugin
      to GCC 4.5 with inter-module optimisation), -v (version)
    - [tg] Document another way to get a coloured PS1 in the manpage
    - [tg] Disallow some more kinds to trim a vector; Closes: #581867
    - [oksh] Simplify some code; RCSID and comment sync with OpenBSD ksh
    - [oksh] Apply diff from manuel giraud to keep track of LINENO in a trap
  * Silence some build log checkers wrt. false positives triggered from
    mirtoconf output (affects both Debian and Debian derivate from Canonical
    that cannot be named, at least)
  * Put upstream changes for 39.3-2 and 39.3-3 into debian/changelog
    entries retroactively for proper documentation
  * debian/rules (if Debian derivate from Canonical that cannot be named):
    Exclude dietlibc on powerpc/ppc64 and sparc
  * debian/rules: the “diet” wrapper also eats most of our CFLAGS when
    passing them to cc, so disable combine mode there to avoid some of
    the problems, such as strict aliasing violations that are none
  * debian/control: prefer pax over cpio

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 24 May 2010 15:09:22 +0000

mksh (39.3-3) unstable; urgency=medium

  * debian/diffs/backport-fixes.diff: replace with upstream CVS diff
    between 39.3 and 20100420 and adjust manpage version number;
    this fix unbreaks word splitting "${foo#a}" for foo="a b c",
    which, for example, is used by kwalletcli
    - [tg] Fix "${x#?}" expansion when quoted, for real this time

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 20 Apr 2010 09:21:39 +0000

mksh (39.3-2) unstable; urgency=low

  * README.Debian: mention /etc/skel/.mkshrc
  * debian/diffs/backport-fixes.diff: replace with upstream CVS diff
    between 39.3 and 20100409 and adjust manpage version number; changes:
    - [tg] Correct small mistakes in manpage and build script
    - [ahoka, tg, stippi, bonefish] Port to Haiku (and probably, implicitly,
      BeOS; this is not tested though)
    - [tg, stippi] Add Haiku specific RLIMIT_NOVMON as ‘V’ to ulimit builtin
    - [tg] Let Build.sh cope with dirname(1) unavailability
    - [tg] In the Emacs editing mode, hi-bit7 octets are now considered
      “motion characters” for word boundaries – Esc+b, Esc+f, ^W, …
    - [tg] Make EXECSHELL default configurable at compile time (embedded)
    - [tg] If MKSH_SMALL do not compile in “set -o bgnice” by default
    - [tg] Rework how RLIMIT_{AS,RSS,VMEM} map to ‘m’ and ‘v’ ulimits
    - [tg] Add some more OS specific limits seen in zsh
    - [tg] SUSv4 ${v=a\ b} and "${v=a\ b}" and ${v-a\ b} compliance, tests
    - [tg] Make "~/.mkshrc" path configurable at compile time (embedded)
    - [tg] Fix SUNWcc 12.1 error message scan in build phase=u
    - [tg, Johannes Sixt, Geoff Clare] Fix variable assignment scope during
      command execution (expansion vs. assignment execution environment);
      [Herbert Xu, Geoff Clare] Add more regression tests for this
    - [tg] Fix single quotes in "${foo#bar}" (differs from "${foo-bar}")
    - [oksh] Fix mknod(8) usage message: b|c are not optional
    - [tg, oksh] Fix "${x#?}" expansion when quoted (quotes, space)
  * debian/control: make locales optional on avr32
  * debian/rules: disable locale support on avr32

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 09 Apr 2010 20:08:16 +0000

mksh (39.3-1) unstable; urgency=low

  * New upstream version R39c; shortened ChangeLog since R39:
    - [tg] Build system, code, docs and testsuite cleanup, also style(9)
    - [tg] Parse and evaluate ${parameter op word} correctly
    - [tg] Fix possible SIGSEGV in interactive mode bind builtin due to
      mis-optimisation of gcc combined with a bogus prototype;
      discovered by Grml.org's Frank Terbeck (ft), thanks!
    - [tg] Clean up some more strict *roff or compiler warnings: dashes,
      undefined macros; casting errors (constness, signedness, type
      width/class) and catch possibly unaligned pointer dereferences
      early; remove code/rodata redundancies, plug memory leaks
    - [smultron] Tweak the manual page: point out the word “colour”
    - [tg] Optimise dot.mkshrc DJB’s CDB hash implementations; add Bob
      Jenkins’ one-at-a-time hash (standard and leading-bit
      initialised); fix signedness in expressions; let the hashes use
      stdin if "$*" is empty, like Lb64{en,de}code; use
      “[[ -o utf8-mode ]]” ipv “[[ $- = *U* ]]”
    - [tg] Build.sh portability fixes: missing prerequisite headers;
      ensure $CC is never called without $CFLAGS; fix test.sh, et al.
    - [tg] Optimise internal variable representation; use one-at-a-time
      hash; cache hash values for faster resizing at zero memory cost;
      clean up hash table (keytab) code; switch hash table collision
      resolution algorithm to Python’s; prepare for later changes
    - [tg] Fix type errors in the source code (int → bool, size_t,
      mksh_uari_t)
    - [tg] Fix “${foo:bar:$baz}” not working (missing substitute() call)
    - [tg] Implement “typeset ±a” as nop
    - [tg] Support ksh93-like “${!foo[@]}” listing the keys (indicēs) of
      all set array elements
    - [tg] Support bash/ksh93-like “array=([key]=value …)” and
      (additionally) “set ±A array -- [key]=value …” to directly
      specify indicēs to use
    - [tg] Document the optional, unsupported, printf(1) builtin in TFM
    - [tg] Replace realpath(3) dependency and internally used
      get_phys_path() pdksh code with own implementation; always offer
      the realpath builtin
    - [tg] Implement nameref='typeset -n' (bounded variables) like AT&T
      ksh93 but with mksh-style nested/dynamic scoping and on-use
      resolving; they cannot currently be stored in an array though
    - [tg] Add “chdir” builtin doing the same as “cd” special builtin
    - [tg, David Korn] Document more differences between mksh (and
      pdksh) and AT&T ksh (or, more specific, ksh88, ksh93) in the
      manual page
    - [tg] Support “'a'” as an alternative to “1#a”, like ksh93 does
    - [tg] Add ksh’s “test -o ?foo”: true if “foo” is a valid shell
      option, where “foo” can be “xtrace” or “-x” or “+x” (these three
      are equivalent)
    - [tg] Support “$'…'” backslash-expanding single-quoted strings, as
      requested by David Korn, with almost the same syntax and semantics
    - [tg] Unify backslash expansion code (C style vs. print builtin)
    - [tg] Support “function stop () {” bashism
    - [tg] For several items in the source code that require order to be
      kept, provide from multiply-included header files; sort correctly
    - [tg] Get rid of unneeded FMONITOR (-m) for shells without job
      control; sync list of flags, comments and manpage with reality
    - [tg] If MKSH_SMALL, reduce size by removing editor functionality
    - [tg] Support VT100 emulator style {Ctrl,Alt}-CurLeft/Right keycode
      sequences with new vt100-hack emacs bind function (LP: #355883)
    - [cnuke, tg] Remove more, like GNU bash extensions, from MKSH_SMALL
    - [tg] Remove more functionality, such as Emacs command line editing
      mode bind key macros, and other extensions, from MKSH_SMALL to
      help floppies
    - [tg] Make forking and subshells less expensive wrt. random state
    - [tg] Build and source code fixes for / caught by SUNWcc, HP aCC,
      pcc, DEC ucode cc (MIPS), GCC, LLVM clang
    - [tg] Make undef/def MKSH_NOVI into 0/1 MKSH_S_NOVI build flag
    - [tg] Get rid of "U getenv" in nm output, we already import environ
    - [tg] Simplify $RANDOM handling: reads are now either arc4random(3)
      (if available: set +o arc4random is no longer possible) or an LCG;
      writes are arc4random_pushb(3) if available for explicit writes,
      arc4random_addrandom(3) otherwise, or another one-at-a-time hash
      feeding the LCG; furthermore, RANDOM is now always exported to and
      imported from (implicit read: no push to kernel done) the
      environment vector on startup and spawning
    - [tg] Document mksh does not exactly use OPTU-8/OPTU-16 in the
      manpage, as well as when characters, octets, or screen columns
      are used
    - [tg] Fix exit 127 on "mksh /tmp/horsies" ipv of 1 on ENOENT,
      #548744
    - [Clint Adams] Fix typos in the testsuite
    - [tg, Clint Adams] Begin a shared testsuite for mksh and posh
    - [tg] Make 「((foo) || bar)」 and 「((foo) | (bar))」 work
    - [tg] Fix lazy evaluation of assignments by ternary operator,
      #445651
    - [tg] Work around Cygwin bugs (quirks) hindering the testsuite
    - [tg] In FSH mode, “echo [-n] 'foo\x40bar'” shall not be expanded
    - [tg] Let set -- $(false); echo $? return 0 (POSIXly correct) in
      FSH mode, 1 (needed for getopt(1) support) otherwise
    - [tg] Changes of variables inside Bourne style POSIX functions
      indeed affect the current execution environment (of the function
      caller)
    - [tg] Fix getopts behaviour (sync with AT&T ksh93 not ksh88)
    - [tg] “eval $(false)” shall return 0 (Debian Closes: #550717)
    - [tg] Ensure that /* apo'strophes in comments */ work
    - [tg] Overhaul and simplify handling of (special) variables
    - [tg] Further reduce memory (code/data) and import footprint
    - [tg] Use functions without PATH_MAX limit on GNU/Hurd
    - [tg] Fix tab completing pathnames containing ‘:’, ‘=’, ‘$’ or ‘`’
    - [tg] Support ‘-T <tty>’ even if MKSH_SMALL and fix it
    - [tg] Remove "which" alias "whence -p" to allow "which -a" in
      dot.mkshrc and add more examples, some commented out
    - [tg] Fix print_columns() issue with displaying items where
      characters had differing number of octets and columns, and the
      off-by-one which had hidden this problem with 2-octet 1-column
      and 3-octet 2-column chars
    - [tg] Beautify the manpage in both AT&T nroff and GNU groff
    - [tg] Fix null-expansion of “${x%?}” if $x is unset
    - [tg] Make some globbing (${x%?}) operate on characters instead of
      octets; update manual page to reflect that others still do and
      remove wording that let people think we’d ever support POSuX
      character classes
    - [tg] New ${%foo} returning width of $foo in screen columns, or -1
      if $foo contains an ASCII/latin1/Unicode C0/C1 control character
    - [tg] Fix subtle possible portability problem wrt. CHILD_MAX
    - [tg] Honour ±U on command line of an interactive shell
    - [tg] Fix dead stores and other bugs pointed out by the Clang
      static analyser; put assertions in places it has false positives
    - [tg] Plug uninitialised memory access and possible out-of-bounds
      read of a buffer caught by Valgrind; change one memcpy(3) to
      memmove(3) where srcbuf and dstbuf overlap; place (-DDEBUG)
      workaround for false positive
    - [tg] Rework __attribute__ compiler capability check
    - [tg] Apply errno save/restore related fix from (sync with) oksh
    - [tg] Build.sh: output message when switching from
      autoconfiguration to building / output generation (requested by
      Matt “lewellyn” Lewandowsky); use “conftest.c” ipv “scn.c” (to
      please ccache); ...
    - [tg] Allow “unset foo[*]” (keep attributes) and “typeset foo[*]”
      (for forward-compatibility; R39b it’s the same as “typeset foo”)
    - [tg] When persistent history is enabled (but not MKSH_SMALL) and
      used, intertwine the shells concurrently accessing $HISTFILE
      better ⇒ sync on empty or duplicate line as well (requested by
      Maximilian “mxey” Gaß)
    - [tg] Split off “set ±o posix” and “set ±o sh” again, to be
      somewhat more compatible to various old or vendor versions of
      pdksh and mksh:
      + MKSH_BINSHREDUCED sets FSH but not FPOSIX
      + MKSH_MIDNIGHTBSD01ASH_COMPAT depends on FSH but not FPOSIX
      + The echo built-in behaves the same for FPOSIX and FSH
      + File descriptors > 2 are not closed for both FPOSIX and FSH
      + Both “set -o posix” and “set -o sh” call “set +o braceexpand”
      + In contrast to R39 and below, the errorlevel of
        “set -- $(getopt ab:c "$@")” is now the same in ksh and
        FPOSIX mode (0) and only FSH will use the errorlevel of getopt
        (used to be the other way round)
    - [tg] Document some more shortcomings in the mksh(1) manual page
    - Contributed printf.c fixes:
      + [tg] Make printf(1) builtin use “$'…'” mode, like ksh93
      + [tg] Fix const-cleanliness
  * Remove patches now integrated in upstream or no longer needed
  * Bump Standards-Version, no relevant change
  * Apply patches inside the top-level directory
  * debian/source/format: Enforce "1.0" manually, for now
  * debian/README.source: New, by zack's suggestion, to document some
    particulars of the source package and why I'm not using 3.0 yet
  * debian/README.Debian, debian/mksh.docs: New, document dash bug
  * debian/control: I'm sure we don't need to B-D on locales-all [m68k]
  * debian/control: tweak package short description to well-known text
    and sync long description with upstream's
  * debian/copyright: Update, sync with upstream
  * Rename build/ into builddir/ to avoid phony target vs pathname
    conflict in Makefile (debian/rules)
  * debian/rules: Ensure we use the C locale during build (especially
    for patch application collation order)
  * debian/mksh.examples, debian/rules: Split out dh_installexamples args
  * debian/rules: Update for R39c, printf.c.1.14 particulars
  * debian/rules: When building, try with -combine first but retry if it
    fails, like my OpenSuSE Buildservice packages do (cf. LP: #375604)
  * debian/control: Remove DMUA, I'm a DD now
  * debian/diffs/backport-fixes.diff: New, fixes not yet in R39c

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 28 Feb 2010 14:09:39 +0000

mksh (39.1-4) unstable; urgency=low

  * Update danish translation, Tak tazz
  * debian/diffs/backport-echo-noescapes.diff: new, backport fix
    for "echo [-n] 'foo\x40bar'" expanding even in sh mode
  * debian/diffs/*: refresh and bump version number
  * debian/control: Update and correct package description

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 10 Oct 2009 22:00:37 +0000

mksh (39.1-3) unstable; urgency=low

  * Add support for using pax instead of cpio for extraction
  * Backport fix for return code bug (Closes: #548744)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 29 Sep 2009 12:46:07 +0000

mksh (39.1-2) unstable; urgency=low

  * debian/rules: build mksh-small without floating point support
    also, because it’s ⓐ huge and ⓑ buggy in dietlibc
  * debian/diffs/backport-function-parens.diff: new, support the
    "function stop () {" bashism sometimes popular in sh scripts
  * debian/diffs/zz-version.diff: fix an oversight and use the
    actual 39.1-* version number instead of 38.9.yyyymmdd-* from
    when this patch was first being created in an experimental
    version; refresh diff against original files; use -U1 instead
    of -up for sh.h diff to not get fuzz at the RCS ID

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 26 Sep 2009 21:18:54 +0000

mksh (39.1-1) unstable; urgency=low

  * New upstream version R39 (despite #540512, I got fed up waiting for
    Guillem/Gerrit to contact me), Closes: #541617; complete ChangeLog:
    - [tg] Shut up a bogus gcc warning during configuration process
    - [tg] Spell AT&T consistently in the source code
    - [tg] Tweak mksh(1) manual page, from wbx@ and «lewellyn:#ksh»
    - [tg] dot.mkshrc: fix $@ vs. $* mix-up
    - [tg] dot.mkshrc: add DJB cdb hash function
    - [tg] Sync with oksh: fix Vi editing mode word erase handling, again
    - [tg] Skip whitespace between POSIX style shell function name and
      its definition parenthesēs during detection if an alias of the same
      name already exists to be more robust (Debian Closes: #535970)
    - [tg] Build system improvements for ACK and nwcc, both on Debian sid
    - [tg] Fix spelling error in changelog discovered by Lintian
    - [tg] Aligh “set -o nounset” / “set -u” behaviour with future POSIX
      standard, as discussed with GNU bash maintainers, David Korn from
      AT&T ksh93, and The Open Group; prompted by use in Debian;
      Closes: #539538
    - [tg] add an unsupported way to make printf(1) a builtin
    - [tg] Build system and regression test code and comment improvements:
      better and more comments matching reality better; more reliability
      w.r.t. passed CPPFLAGS; more of the MKSH_SMALL changes may be
      overridden, all of them are now enumerated on the webpage; fixed
      some breakage; portability
    - [tg] MKSH_NOPWNAM and MKSH_SMALL will now both disable the ~fac/
      (homedir) expansion code wholly if defined, not just getpwnam(3)
      calls
    - [tg] shells without job control no longer define the standard
      “stop” and “suspend” aliases (they are pointless anyway);
      regression tests know
    - [tg] use system RCS ID macros on MirBSD if decent enough
    - [tg] shut up bogus gcc 4.5/trunk warnings caused by
      over-optimisation
    - [tg] restore ANSI C compilability broken in R38 (speed up, even)
    - [tg] use memcpy(3) ipv strlcpy(3) if possible and safe and secure
  * Integrate czech translation update, Dêkuji; Closes: #534788
  * Switch to debhelper 5, by suggestion of Patrick “aptituz” Schönfeld
  * Add (commented out) framework for building with klibc, pending
    bugfixes and enhancements I submitted to the Debian BTS; can be
    customised for with/without MKSH_SMALL and dynamic/static linkage
  * debian/copyright: remove setmode.c remark, it is never used:
    mksh-full has it provided by libbsd; mksh-diet, mksh-small, and
    mksh-klibc have the mknod builtin disabled and do not need it;
    strlcpy.c is provided by libbsd, dietlibc and klibc, so neither
    mksh-full nor mksh-diet (nor mksh-klibc) need it, only mksh-small
    in the glibc version (on platforms where dietlibc is unavailable)
  * debian/rules: Append -e to sub-make command line, to force it to
    use the correct build environment (mostly CFLAGS)
  * Apply policy compliance (-o posix if run as sh) to mksh-small
  * Disable duplication of -Wall on the compiler command line
  * debian/rules: improve comments
  * mksh-klibc: debian/rules can now build an MKSH_SMALL flavour
  * Let mksh have all builtins dash has; Closes: #532343
    ‣ New diffs/add-builtin-chdir.diff: add “chdir” builtin (= “cd”)
    ‣ New diffs/add-builtin-printf.diff: add “printf” builtin (manpage)
    ‣ debian/copyright, debian/rules: new source file printf.c (code),
      install and use it; make sure klibc has strtod(3) disabled
    ‣ New diffs/add-builtin_common.diff: common part of the diff
  * New diffs/zz-version.diff: use Debian specific ksh version number
  * debian/rules: reorder some assignments to make it better readable
    and add and improve comments
  * debian/watch: add RCS ID and comments
  * debian/mksh.menu: don’t create an entry for Diet mksh any more
  * debian/mksh.menu, debian/mksh*.xpm: add icons, long description
  * Update spanish translation; from asarch via IRC, ¡gracias!
  * Fix a spelling error and repetitiveness in the German translation
  * Use portuguese debconf translation for the missing parts of the
    brasilian-portuguese translations and mark them fuzzy
  * Translate the missing dutch parts myself (as good as I can)
  * Convert all debconf translation files to UTF-8
  * Remove VCS-CVS field override; the Lintian maintainers have
    agreed to adjust it so that anoncvs-over-ssh is not criticised
  * Switch to Debian Policy 3.8.3, no relevant changes

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 16 Sep 2009 11:08:08 +0000

mksh (38.3-1) unstable; urgency=low

  * New upstream version R38c; complete ChangeLog:
    - [tg] Fix regression tests on OSes insisting on a shebang (Cygwin)
    - [Sean Boudreau] QNX 6.4.2 ed(1) is said to have the bugs fixed
    - [tg] Build.sh bugfixes: -DMKSH_BINSHREDUCED can also be given
      without -DMKSH_SMALL; allow HAVE_REALPATH=x and HAVE_REVOKE=x in
      the environment to re-enable these even if -DMKSH_SMALL disables
      them by default, like mknod already did
    - [tg] -DMKSH_ASSUME_UTF8=0 skips the environment checks, like
      -DMKSH_ASSUME_UTF8=1, but disables the utf8-mode
    - [tg] Apply some more KNF – style(9) – to the source; clean it up
      and further optimise for small size
    - [OpenBSD] Fix segfaults caused by missing check for end of input
      in the tokeniser on “let --” and other input
    - [OpenBSD] Make Vi editing mode ^W behave like Emacs mode’s
    - [tg] If no killpg(3) is available, use kill(2) and hope it works
    - [tg] -DMKSH_NO_LIMITS skips trying to build the ulimit code
  * debian/rules: use DEB_BUILD_ARCH, not DEB_HOST_ARCH, to determine
    if dietlibc should be excluded on certain architectures where it
    is known to fail

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 10 Jun 2009 19:45:10 +0000

mksh (38.2-1) unstable; urgency=low

  * debian/rules: fix typo in buildd admin instructions for openpty()
  * New upstream version R38b; complete ChangeLog:
    - [André Wösten] Add __NO_EXT_QNX to avoid picking up the wrong
      waitfor() from <libutil.h> in (while porting to) QNX 6.4
    - [tg] Plug memory corruption issue introduced in R38
    - [tg] Amend dot.mkshrc with a base64 en-/decoder in shell
    - [tg] Import a manpage fix via OpenBSD from Alan R. S. Bueno

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 31 May 2009 17:45:42 +0000

mksh (38.1-1) unstable; urgency=low

  * debian/control: depend on locales-all on m68k because its
    locales and glibc packages are not up to date / installable
  * debian/rules: ignore localedef failure (uncritical to build)
  * New upstream version R38; complete ChangeLog:
    - [tg] Improve regression test output debugging
    - [tg] Fix <libutil.h> prerequisites on MidnightBSD in mirtoconf
    - [tg] Mention that RedHat BZ#496791 cannot currently be fixed in
      the manpage by discouraging use of apostrophes in comments in
      comsubs; add appropriate (expected-fail) regression tests
    - [tg] Sync with OpenBSD ksh (mostly a no-op)
    - [James Butler] Add search-history-up and search-history-down
      keybindings (tcsh-like) to the Emacs command line editing mode
    - [tg] Bind new search-history-{up,down} to ANSI PgUp and PgDn keys
    - [tg] Document ANSI default keybindings (↑↓←→ Home End Del
      PgUp PgDn) in the mksh(1) manual page as well
    - [tg] Optimise internal UTF-8 handling code for size and reusability
    - [tg] Incompatible change: ${foo:1:2} and ${#foo} now operate on
      characters, not on bytes. Characters are octets (set +U) or
      (utf8-mode) MirOS OPTU-8 multibyte characters (set -U)
    - [tg] Improve regression tests relating to ${foo:1:2} and ${#foo} and
      let wc=1#x and utf8-mode
    - [tg] Use per-file copyright notices, move global text to manpage
    - [tg] Expose new MKSH_MIDNIGHTBSD01ASH_COMPAT ifdef; change it to only
      trigger if FPOSIX (or MKSH_BINSHREDUCED and /bin/sh)
    - [tg] Remove already-dead “#if 0” style debugging code
    - [tg] Change some code into a more portable fashion, optimise
    - [tg] Allow [[ $foo ]] (ksh93 extension) mentioned by pgas
    - [tg] Clean up mksh and the contributed arc4random.c for some
      conversion, enum and other warnings for gcc-snapshot trunk r147610
    - [tg] Ensure no function uses more than 768 bytes of stack either
    - [tg, wbx] Add extension to make “!string” lines work like in GNU bash
  * debian/rules, debian/copyright: adjust to upstream changes,
    provide separate copyright file for Debian
  * Remove package-uses-deprecated-debhelper-compat-version
    lintian override to show up in statistics, we want to
    retain the old debhelper version to facilitate backports

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 27 May 2009 21:27:50 +0000

mksh (37.3-2) unstable; urgency=low

  * Provide a way to not use dietlibc for /bin/mksh-static
    on certain architectures; use it for s390 (Closes: #523088)
  * debian/control: run ispell over it

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 08 Apr 2009 18:07:55 +0000

mksh (37.3-1) unstable; urgency=low

  * New upstream version R37c; complete ChangeLog:
    - [tg] Improve præprocessor detection/work in Build.sh
    - [tg] Decouple MKSH_CONSERVATIVE_FDS from MKSH_SMALL
    - [tg] Enable MKSH_CONSERVATIVE_FDS by default on Minix 3
    - [tg] Work around the (in-)famous ACK "const" bug
    - [tg] Optimise structure alignment and padding; Closes: #522778
    - [tg] Retain LOCPATH (for glibc locale) in check.pl
    - [tg] Document, simplify and clean up the code better
    - [tg] Use mirbsd.org eMail addresses consistently
  * debian/rules: try to at least execute the built binaries in !nocheck
    cases, to prevent totally unusable packages from being published;
    Closes: #522779
  * Use LOCPATH and a temporarily generated UTF-8 locale for the regres-
    sion test suite (from Steve “vorlon” Langasek); depend on localedef
    Closes: #522777
  * debian/control: add comment where the dietlibc list comes from
  * Sync package description, etc. with R37c release and upstream
  * debian/control: mention VCS-CVS syntax and place of upstream source

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 07 Apr 2009 23:24:48 +0200

mksh (37.2-1) unstable; urgency=low

  * New upstream version R37b; complete ChangeLog:
    - [tg] Clean up build system and dot.mkshrc some more
    - [tg] Add getrusage(2) implementation using times(3) if none found
    - [tg] Add jobless mode (for Minix 3, Plan 9, …)
    - [tg] Detect the Amsterdam Compiler Kit in the build system
    - [tg] If no RLIM_INFINITY don’t try to do ulimit
    - [tg] Work around gcc4 strict warnings vs. broken system headers
    - [tg] Work around systems with mmap(2) but no munmap(2)
    - [tg] Fix (disallow) bind key macro recursion (instead of beeping
      and going into an endless loop), allow multi-line bind key macros
      (mostly from Alexander Hall), remove dead code (the beeping) and
      optimise
    - [tg] Add (commented out, undesired, standards compliance breaking)
      compatibility code to MidnightBSD 0.1 /bin/sh for ctriv
    - [tg] Clarify the mksh(1) manual page even more
    - [tg] Port to Minix 3 + GCC
  * New upstream version R37; complete ChangeLog:
    - [tg] Rename -o utf8-hack to -o utf8-mode
    - [tg] Fix spacing mode error (pasto) in the mdoc(7) format manpage
    - [tg] Implement $((#…)) unsigned arithmetic calculation, needed for
      arc4random_uniform(3)-in-korn-shell implementation
    - [tg] Really preserve LD_LIBRARY_PATH in check.pl
    - [tg] New Build.sh option ‘-combine’ for building mksh(1) at once
      with “-fwhole-program --combine” (gcc4, llvm-gcc4) if available
    - [tg] Always set COLUMNS and LINES trying as hard as we can, using
      TIOCGWINSZ even if used without FTALKING, and with the sane 80x24
      default if the ioctl(2) fails
    - [tg] Handle _POSIX_VDISABLE being undefined (e.g. Linux/klibc)
    - [tg] <sys/file.h> is only required for flock(2)
    - [tg] Fix multi-column output routine for the corner case if the
      screen is less wide than one output column; 10x Gábor Gergely
    - [tg] Fix ${foo/@(%)/\\x} in UTF-8 mode (utf_widthadj for control
      characters U+0080‥U+009F is slightly broken; this fix shifts the
      brokenness into the command line editing mode only)
    - [tg] Introduce mksh_ari_t and mksh_uari_t internal types to limit
      arithmetics to 32 bit on all systems; currently depending on the
      already-used standard int32_t and uint32_t types. Future expansion
      to 64 bit possible. Document that shell integer variables use this
      type.
    - [tg] The variables PGRP, PPID, RANDOM and USER_ID are now unsigned
    - [tg] Fix two off-by-ones breaking PS1 ending with a newline; bug
      reported by Matthias Diener
    - [tg] Just pass through C1 control characters for now
    - [tg] Code and internal interfaces cleanup
    - [tg] Regression test fixes for Cygwin env(1) being unsorted
    - [tg] Replace the memory allocator by something equally simple and
      homegrown but optimised for use with mksh and free checking
    - [tg] Import a couple of minor fixes (e.g. spelling) from oksh
    - [tg] Fix problems with "set -e" for real; from oksh,
      Closes: #518359
    - [tg] In "set -o posix" mode, have limited echo(1) to improve
      standards compliance; the exact feature set is open for discussion,
      e.g. with pkgsrc® people; for now, only -n as first arg
    - [tg] Make test builtin operator precedence consistent; from oksh
    - [tg] Revamp and fold and enhance the regression tests
    - [tg] Document somewhat surprising behaviour in mksh(1) better;
      here: [ x -eq y ]; for gps23 from #ksh
    - [tg] Reduce memory consumption by allocator simplification
    - [tg] Fix bugs spotted by DEC ucode cc (ULTRIX) and gcc 1.42 (BSD/OS)
    - [laffer1] Make mksh the default /bin/sh in MidnightBSD
  * debian/rules: add support for applying patches to the source code
  * debian/rules: build with new ‘-combine’ option for better optimisation
  * Fix debconf checks if dash is uninstalled; Closes: #518355
  * Use 「--package mksh」 consistently with dpkg-divert
  * debian/control: update package description
  * Upgrade Standards-Version to 3.8.1
    - debian/rules: support nocheck in DEB_BUILD_OPTIONS
    - debian/control: add RCS Id as comment field
  * debian/source.lintian-overrides: add (things not deemed fixable)
    - package-uses-deprecated-debhelper-compat-version (who cares)
    - vcs-field-uses-not-recommended-uri-format (source is available
      via AnonCVS, but pserver must die!)
  * debian/control: prepend :ext: anoncvs protocol to VCS-CVS field

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 05 Apr 2009 15:48:16 +0000

mksh (36.2-1) unstable; urgency=low

  * Reword package description, avoid things not of interest to
    a Debian user; Closes: #505882
  * Switch from patching copyright to merely prepending information
  * Remove all patches, as they have been integrated upstream; add
    ‘-DMKSH_BINSHREDUCED’ to CPPFLAGS to enable the functionality
  * New upstream version; complete ChangeLog:
    - [tg] Add check for naming the output file “scn” instead of “a.out”
      or “a.exe” when compiling scn.c, for Haiku, from Adam “replaced” Hoka
    - [tg] Rewrite utf_backch macro and x_bs2 function into a combined
      x_bs3 function for the Emacs editing mode, to optimise them and get
      rid of the use of __typeof__ (suggested by Anders “ragge” Magnusson
      after the problem was spot by replaced) and one of the uses of the
      statements-as-expressions feature
    - [ahoka] Add mirtoconf check for nice(3), missing on Haiku
    - [tg] Remove all uses of the statements-as-expressions feature by
      rewriting the source code accordingly and optimising some parts
    - [tg] Recognise nwcc (Nils Weller’s C compiler) in Build.sh
    - [tg] If <strings.h> exists, pull it in for strcasecmp(3)
    - [tg] Welcome QNX/Neutrino; work around broken /bin/ed
    - [tg] Simplify, shorten, speed up PS1 in dot.mkshrc
    - [tg] Remove some dead code courtesy of scan-build native runs
    - [tg] Add some casts to prevent LLVM+Clang warnings
    - [tg] Work around llvm-gcc-4.2.1 -Wformat pickyness
    - [tg] Add new Build.sh option ‘-llvm’ (clang, llvm-gcc)
    - [tg] Speed up mirtoconf if ‘-DMKSH_ASSUME_UTF8’ is set
    - [tg] Add the workaround for Debian #492377 into the main mirtoconf
      function (hiding gcc errors during the configure phase) because
      Gentoo has similar scanner issues; reported by Hanno Böck
    - [tg] If an MKSH_SMALL has arc4random(3), skip the rand(3)/srand(3)
      fall-back altogether to shrink size, also removed need for time(3)
    - [tg] Fix alias expansion recursion check if the word to be expanded
      is immediately followed by end of input, add test case; spotted by
      Michael Hlavinka in pdksh and mksh; RedHat #474115
    - [tg] Fix string/wdstring confusion preventing bashiop (&>foo) to
      work inside a function, add regression test, limit to 99 fds
    - [tg] change regression tests to ‘set -U’ or ‘set +U̲ instead of
      ‘set -o utf8-hack’, as well as query using ‘$-’ ipv ‘$(set +o)’
      (easier and more reliable)
    - [tg] Add comment to regression tests which can fail on slow machines
      or Cygwin environments due to timing issues
    - [tg] Remove a lot of superfluous casts, improve type cleanliness
    - [tg] Insert a couple of /* CONSTCOND */ for lint
  * New source package and build structure:
    - distfile is now packaged *inside* the orig tarball instead of repak-
      kaged, similar to PostgreSQL
    - debian/rules “patch” target takes care of it, as per Policy Manual
    - debian-specific things (debian/ directory and all patches) are kept
      in a publically accessible CVS repository
    - VCS-CVS and VCS-Browser fields have been added to debian/control
    - source is extracted to ./mksh and built, using relative paths to the
      source code, in ./build/full and ./build/small; both are .cvsignore’d
    - most files now carry an RCS ID
    - paths in mksh.install, mksh.manpages, rules have been adjusted
  * word-wrap debian/control lines to 80c
  * add build dependency on cpio (for distfile extraction)
  * for non-pbuilder testsuite runs (needed on gnubber), rename the ./manual
    file tested for to ./attended to clarify its purpose
  * debian/rules: share code instead of duplicating it
  * debian/rules: fix testsuite use of $? and $x (gmake wants $$? and $$x)
  * debian/rules: use sensible stamp files and new paths, coming along with
    the new “patch” target
  * remove the ‘-Q’ option from Build.sh invocation, which is gone

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 14 Dec 2008 20:38:42 +0000

mksh (35.2-3) unstable; urgency=low

  * Apply upstream changeset 10048D15ABE2EA76C75:
    - Bring back automatic -o posix setting if the shell is invoked
      as “sh” or “-sh” (unless compiled with MKSH_SMALL), add
      regression test
    - If -o posix is set, do not keep file descriptors created via
      I/O redirection, as Korn Shells do, private; add regression
      test; Debian Closes: #499139; reported by Markus Schaber and
      Agustin Martin Domingo
  * Change mksh-internal version number to document aberration from
    pristine source
  * Add DM-Upload-Allowed control field to prepare for future updates
  * Add workaround to “posix-mode-2” regression test to cope for GNU
    getopt idiocy to not stop argument parsing upon encountering the
    first non-flag argument: “ln -s mksh -sh” tries to parse -s and -h

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 19 Sep 2008 10:12:59 +0000

mksh (35.2-2) unstable; urgency=low

  * Workaround for false positives on IA64, Closes: #492377
    (by circumventing the regex matcher for code not actually used)
  * The mksh-static binary on non-dietlibc arches was not statically linked
  * MKSH_STATIC implies MKSH_NO_PWNAM, remove duplicate definition
  * Add build dependency on en_US.UTF-8 locale data for the regression tests
  * Fix lintian -vIi warning debian-copyright-line-too-long by wrapping

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 28 Jul 2008 20:54:17 +0000

mksh (35.2-1) unstable; urgency=low

  * Update to BSD-advertising-clause-free new upstream release; changelog:
    - Simplify and refactor the ulimit builtin, partially from oksh
    - Some style cleanup; use appropriate integer types
    - Fix a bug in table (e.g. kill -l, tab completion) display: the width
      of non-ASCII characters is now honoured in the utf8-hack mode
    - Improve handling of invalid UTF-8 in certain areas, and multibyte
      (UTF-8 / CESU-8) in general
    - When using “typeset -Z«n»” on an integer variable with a base other
      than ten, zero-pad the value instead of the base – pdksh, oksh, zsh,
      and AT&T ksh93 are wrong here; GNU bash doesn’t even have typeset
    - Improve parsing of “set +o” output where done (dot.mkshrc, check.t)
    - Improve regression tests
    - Support for base-1 numbers: in non-utf8-hack mode, ‘1#x’ means the
      same as the ASCII code for ‘x’ (e.g. 78hex), where ‘x’ is any single
      octet (byte); in utf8-hack mode, ‘x’ is either a valid and minimali-
      stically encoded UTF-8 multibyte character in the range 0000‥FFFD,
      or a single octet with no trailing octets (bytes), which will then be
      converted as if it were an ASCII value, or, if bit7 is set, be mapped
      into the PUA range of EF80‥EFFF assigned by CSUR for this purpose;
      this mapping is, in both cases, bidirectional; the planned base-0
      number support is not possible with the code, so use base-1 (with
      utf8-hack disabled, or & 0xFF) instead (while it is recommended to
      parse only single octets, there is a regression test showing correct
      and safe multibyte parsing, which however is error-prone to implement
      and thusly not recommended) – “genial” replaced@TNG, “this sounds
      fun” ggergely, agreed bsiegert@ and others
    - Pull in more current versions of supplied files; use Unicode 5.0
    - Clean up unused definitions in build system; document MKSH_CLS_STRING
    - Remove advertising clause from copyright file; while we’d be pleased
      to be mentioned if something contains our code, tg@ will no longer
      enforce the requirement to advertise with that specific formula, and
      we’d prefer if people remember the OpenHAL vs ath5k incident and that
      they cannot simply change licencing of existing code; patches sent to
      the MirOS Project for inclusion shall be accepted if they’re agreed
      to match this licence
    - Simplify dot.mkshrc sample file: licence is merged into the main
      copyright file; AT&T ksh93 compatibility was improved
    - Fix a display problem regarding fullwidth characters (e.g. CJK)
    - Set the “C” locale in Build.sh for tool execution; otherwise, cer-
      tain OEs behave strange; thanks to Adam “replaced” Hoka for spotting
    - Use en_US.utf8 as UTF-8 locale for the testsuite for now
    - If setlocale(LC_CTYPE, "") is not available, look at the environment
      variables ourselves – brings UTF-8 support to poor OSes
    - Remove some now-dead code; speed up configuration process; shrink
    - Default to no setlocale(3) due to stubbed or missing locale support
      on GNU/Cygwin, OpenBSD, OSF/1 in Build.sh; a few more that are quite
      unlikely to have a UTF-8 locale: BSD/OS, Interix, Minix, PW32,
      Ultrix, AT&T UWIN; default to always UTF-8 on Plan 9
    - Fix for testsuite unexpected failure if running as root in one case
    - Initialise all shell integer variables (OPTIND, PPID, RANDOM,
      SECONDS, TMOUT) to base 10
    - Reintroduce from mksh pre-R24 shell integer variable PGRP set to
      the PID of the process group leader via getpgrp(2)
    - New shell integer variable USER_ID set to the geteuid(2) and used
      by dot.mkshrc to speed up logins, saves a spawn of id(1), mentioned
      by and realisation planned with Andreas "gecko2" Gockel
    - Fix dot.mkshrc tilde replacement in both $PS1 and the pushd/popd/dirs
      implementation when the home directory is empty, the root directory,
      or ends with a slash (disable replacement in that case)
    - Support dietlibc, force it into providing a BSDish caddr_t
    - Do not use LDFLAGS and LIBS while compiling with -c
    - Add realpath(3) builtin, to further speed up logins and chdirs
    - Optimise the code somewhat by making use of possible assumptions
    - Set the “C” locale in test.sh as well to quell warnings
    - Split the regression tests that use locale between en_US.utf8 and
      en_US.UTF-8, since not all OSes support either one, and make only
      HP-UX and GNU use the latter
    - Fix kill, mknod(8) builtin usage msg, from Igor Sobrado via oksh
    - Use proper ptrdiff_t casts for pointer arithmetics, inspired by an
      oksh commit from Federico Schwindt
    - Remove check category “pdksh” from check.t and test script
    - Improve Darwin, OSF/1, HP aCC, SUNpro version reporting
    - Support GNU bash “&>” extension, even better than they do, suggested
      by Lukas “smultron” from MidnightBSD
    - Basic support for LLVM+clang in the build system with experimental
      “ccc” compiler driver; llvm-gcc worked as-is before already
    - Better support for contributed arc4random.c file
    - Do not spin if unlink(2) fails on $HISTFILE, from Decklin Foster
    - Dump the perl(1) $^O variable in test.sh to logs
    - Pull in latest changes from oksh
    - Allow white space between a here string indicator and the string,
      accidentally discovered by twkm (#ksh, freenode)
    - Allow fd specifications outside the 0‥9 range for I/O redirections,
      and bounds check them to be lower than the FDBASE definition,
      currently still 10 if MKSH_SMALL, 24 otherwise (unportable)
    - Improve the regression test suite: for one test, we had a bizarre
      constraint telling it won’t work on UWIN, which was based upon false
      assumptions, but Tru64 would fail it since its cat(1) unexpectedly
      outputs some error messages (fix by closing stderr for cat); another
      test would unexpectedly print no error message on Solaris (fix by
      making the error message optional in the perlre(1) used)
    - Switch back to en_US.UTF-8 for glibc, Debian can do both, Mandriva
      fails on en_US.utf8 (XXX no libc5 auto-detection to disable it)
    - IRIX also has no UTF-8 locale at all, confirmed by Elias Pipping
    - Fix regression test suite for MKSH_SMALL
    - Bring in latest changes from oksh (OpenBSD ksh, not DeliLinux crap)
    - Fix abuse and unsafe use of str_save() and str_nsave()
    - Optimise the implementations of str_save() and str_nsave()
    - If MKSH_AFREE_DEBUG is defined, guard against afree()ing a pointer
      which has not been allocated from the given pool, from Todd C. Miller
    - Fix attempt to free a pointer to stack (function-local) storage when
      redefining a function containing a call to the “time” built-in,
      discovered by Elias Pipping, patch by Jared Yanovich, help from
      Todd C. Miller
    - Protect a little against people not running “./test.sh -v” but
      calling it with, for instance, GNU bash (as homsn did…)
    - Honour $PERL environment variable in test.sh, improve scanning for
      Perl, do not use potentially undefined $^O, print Perl version
    - Add <sys/types.h> as <ulimit.h> requirement (dietlibc)
    - Work around bug in BSD/OS 3.1 /bin/ksh (PD KSH v5.2.8 96/08/19)
    - Add regression tests from OpenBSD’s <bsd.regress.mk> suite
    - Use better CPPFLAGS for AIX, Minix 3 (from pdksh)
    - Expose the “s ≠ NULL” str_[n]save_() API and use it where the string
      can never be NULL (local stack storage), from gcc-4.2 warnings
    - Clean up pointer-to-integer-cast warnings in the mirtoconf process
  * New debian-policy version: 3.8.0.1
    - DEB_BUILD_OPTIONS: add -Wall to default CFLAGS, fix “noopt” handling,
      add “nostrip” handling, ignore “parallel=«n»” as we cannot specify a
      maximum value to Build.sh
    - Convenience copies: switch from a contributed arc4random.c file to
      using the new libbsd Debian package, 10x Hector, Guillem et Aurelien!
  * debian/control: sync Description field with upstream suggestion
  * Rename menu entry from "MirBSD ksh" to "MirBSD Korn Shell" for clarity
  * Add a mksh-static binary, for initrd, initramfs, installer, rescue
  * Integrate translation updates, ありがとう; Closes: #483506
  * Integrate translation updates, tack; Closes: #491950

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 22 Jul 2008 20:42:23 +0000

mksh (33.4-1) unstable; urgency=low

  * New upstream release; changelog:
    - Move a portability define from sh.h to the setmode.c helper, as it’s
      only needed there, and we want to use the latter from MirMake as well
    - SECURITY:  when spawning mksh on a new terminal, for example with
      “sudo mksh -lT/dev/ttyC7”, flush all of that tty’s I/O first
    - dot.mkshrc: ensure “ls” is no alias, don’t hardcode its path
  * As dash won’t be the default /bin/sh without the current alternative
    handling / debconf mechanism in lenny (as per the mail from Martin
    Zobel-Helas), there is no need to act regarding our debconf scripts
    and /bin/sh ability, so I think this Closes: #469675

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 11 Apr 2008 17:38:02 +0000

mksh (33.3-1) unstable; urgency=low

  * New upstream release; changelog:
    - Handle Ultrix mmap(2) having a different prototype (returning a caddr_t
      instead of a void * and not defining MAP_FAILED; making Ultrix 4.5 a
      fully supported platform
    - Decrease code size and optimise (using puts-style functions instead of
      printf-style functions for fixed strings; bool instead of int)
    - Correct behaviour of “export”, “export -p”, “readonly”, “readonly -p”,
      “typeset”, “typeset -p”, “typeset” and their respective descriptions in
      the manual page; problem reported by Danijel Tasov
    - Work around dup2(2) problem (preserving the close-on-exec flag) on
      Ultrix using code from mirbsdksh-1.11, lost in oksh
    - Clean up Build.sh a little more
    - Correct quotes and some other stuff in the regression tests; fix for
      running with old Perl (5.002 or so, Linux 2.0, BSD/OS)
    - Export the new “__progname” and “__perlname” environment variables to
      the suite run from check.t in check.pl
    - Do not mistake IBM xlC and VisualAge for different things, thanks to
      Pascal “loki” Bleser from OpenSuSE for information on them

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 02 Apr 2008 21:45:54 +0200

mksh (33.2-1) unstable; urgency=low

  * New upstream release; changelog:
    - Fix some minor code issues remarked by MIPSpro
    - Port to SGI IRIX 6.5 (uname: IRIX64) using gcc and MIPSpro
    - Scan for a lot more compilers; add support for MIPSpro
    - Ignore if the OS doesn’t define MAP_FILE for mmap(2)
    - Use sys/types.h as sys/mkdev.h dependency
    - Enable OSF/1 V2.0 /bin/sh to run Build.sh
    - Add strcasecmp(3) proto for Ultrix 4.5 only (imake style)
    - Add S_ISLNK if the OS doesn’t define it
    - Use tempnam(3) if mkstemp(3) not found – not recommended
    - Reduce dependency on certain OE facilities: printf(1), fgrep(1) being
      able to scan for two patterns at the same time, perl5 being named perl
    - New -T- option for dæmonisation, cf. man page
    - Port to BSDi BSD/OS 3.1 (gcc 1.42 and gcc 2.7.2.1 supported)
    - Simplify the dot.mkshrc file and make it more robust
    - Report OE and $CC version in Build.sh, for logs
    - Fix look’n’feel of the mksh(1) manual page, so that it still looks best
      in AT&T nroff(1), looks much better in GNU groff (the PDF version we
      place on the website), and looks some better and gains the ability to
      copy’n’paste from it for GNU gnroff -Tutf8, originally prompted by
      Patrick “aptituz” Schoenfeld and “lintian -viI mksh*.changes”, but then
      improved (and nroff hacked) by tg@ a lot
    - Shut up some gcc warnings (explicit braces; cast MAP_FAILED)
    - Try to get rid of the test “if the compiler fails correctly” by using
      the errorlevel of the $CC process (except with Microsoft Visual C++
      which returns non-zero even on success sometimes), thus supporting
      DEC C on OSF/1 (and, quite possibly, gcc3 on Mac OSX Leopard)
    - If revoke(2) and flock(2) are found, check if they’re declared
    - Promote Tru64 to a fully supported operating environment, even though
      it needs a plethora of _*_SOURCE defines and has SIGMAX instead of NSIG;
      OSF/1 V4.0 and Tru64 (OSF/1 V5.1) are supported with both gcc and
      HP/Compaq/DEC C in various versions
    - Generalise the workaround for incompatible sig_t across the platforms
      that need it (currently, OSF/1 and PW32)
    - Shut up annoying warning about gcc 2.7.2.3, 2.8.1, 2.95.x not knowing
      the “-std=gnu99” and “-std=c99” options without setting proper errorlevel
  * Remove debdiffs for things included in upstream:
    - manpage diff
    - displaying of OS and compiler versions before build
  * Update arc4random.c file from MirBSD contrib repository for now, until we
    have libbsd in Debian !kfreebsd sid (coming soon I hope)
    - fixes “warning: ignoring return value of ‘read’, declared with attribute
      warn_unused_result” occuring on e.g. Fedora GNU/Linux
  * Integrate translation updates, merci; Closes: #471009

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 28 Mar 2008 20:34:00 +0000

mksh (33.1-2) unstable; urgency=low

  * Help backporters by specifying explicitly versioned debconf/cdebconf
    dependencies, thanks Patrick “aptituz” Schoenfeld for mentioning
  * Integrate manpage diffs from mksh-current to fix “lintian -viI”, also
    from aptituz, and a couple of other issues (' vs ’ vs ´, ' vs ‘ vs `,
    - vs ‐ vs − vs – vs —, ^ and ~ in the Postscript version)
  * Add a debian/watch file, idea from aptituz too, hints from uscan(1)

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 04 Mar 2008 00:31:08 +0000

mksh (33.1-1) unstable; urgency=low

  * New upstream release; summary of changes:
    - Sync with OpenBSD ksh (no real functional changes)
    - Enhance the print builtin with two new escape sequences: \xAB
      parses the next up to two hexadecimal digits AB and outputs a
      raw octet (byte) whose ordinary value is AB; \uABCD parses up
      to four hexadecimal digits and outputs the UTF-8 (CESU-8) re-
      presentation of the unicode codepoint U+ABCD from the BMP
      (Basic Multilingual Plane), not depending on the locale
    - The . (“dot”) command (and its counterpart source) needs an
      argument (the script to source); from Debian pdksh package
    - In the lexer, do not expand aliases if there is an opening
      parenthesis just after the token (from Debian pdksh). This
      fixes the namespace issue that caused a POSIX function de-
      finition stop() { … } to fail due to “stop” being a built-
      in Korn shell alias. Now, aliases are removed when a POSIX
      function with the same name is defined; Korn functions are
      still different: their definition does not fail, but the
      alias retains its precendence (unchanged behaviour)
    - Accordingly, do not disable built-in aliases in POSIX mode any more
    - Since POSIX mode now only turns off braceexpand mode (which
      can then be turned back on), do not handle being called as -sh
      or sh specially any longer
    - Clean up the source code: make some constants private to the
      only file using it; optimise; comment some code; improve
      portability with regards to stupid tools in /usr/bin (or
      /usr/xpg4/bin) and foreign compilers
    - Implement “here strings” (like ksh93 or zsh; GNU bash col-
      lapses white space if the string is not double-quoted): you
      can now replace “print -r -- "$foo" | command” with
      “command <<<"$foo"” with the very same semantics as
      “command <<EOF
       $foo
       EOF” (stripping initial tabs is not possible)
    - Implement string replacement ${var/pattern/string} (where
      pattern is an extended glob pattern), like GNU bash; like
      with the substring accessor (${var: x: y}) mksh implements
      almost all corner cases (and double slash), but do not
      handle trimming arrays yet
    - Side note: You can now, as a consequence of the two items
      above, write, for instance, x=${x//foo*bar/baz} instead of
      the more complicated x=$(sed -e 's/foo.*bar/baz/g' <<<"$x")
      or the mksh R32 and before idiom x=$(print -r -- "$x" | sed
      -e 's/foo.*bar/baz/g') – be sure to check $KSH_VERSION first
      though
    - Use the new Mdocdate RCS keyword in the manual page mksh(1)
      as well; since this is not portable in tmac.doc especially to
      GNU groff, prepend a seven-liner implementing it to the .Dd macro
    - Fix a mistake in using the .Nm macro in the manual page
    - Make Build.sh and the generated test.sh more chatty about what
      they’re doing and what versions (aids debugging build logs)
    - Update the dot.mkshrc sample and make it more portable; it requi-
      res mksh R33 or above now though due to use of special functions
    - Enhance the website, especially the section about official
      testing: now, the tests are split into tests done by us via
      Makefile (MirOS only), Build.sh (portably), porting frameworks,
      with arc4random.c added, tests by others via Build.sh, via
      packaging frameworks, failed tests; more links
    - Note: the “vi” editing mode is code of historical value and, at
      the moment, unmaintained. It does not benefit from the fixes to
      the “emacs” editing mode (horizontal scrolling) or new features
      (bind keys that end their sequence with a tilde; UTF-8 support).
      Neither is it supported in either editing mode to bind keys that
      generate a sequence consisting of more than just a prefix (ESC,
      ^X, or ESC [), another octet and (“emacs” only) an optional tilde
      (but this might come in the future). This is explicitly mentioned
      here due to a user inquiry.
    ‣ This means that pdksh bugs #190566, #246530, #297234 specifically
      do not apply to mksh and users might want to switch
  * Have the OS and compiler version appear in the build logs (debugging)
  * Bump Standards-Version and double-check that the menu category is OK
  * Integrate translation updates, Хорошо; Closes: #467182

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 02 Mar 2008 16:12:59 +0000

mksh (32.1-1) unstable; urgency=low

  * New upstream release; summary of changes:
    - Checks for symbol declarations are compile time checks, not link
      time checks; fixes (optional) arc4random on AIX
    - Widen the range for array indicēs to the entire unsigned 32-bit
      integer range (enough for ino_t on BSD); wrap numbers outside of
      that range into it for simplicity (e.g. foo[-1] = foo[4294967295])
    - Fix an internal error when using a pipeline as co-process
    - Relax requirement on compilation environment to provide certain types
    - Optimise some more for size (struct padding; functions → macros, …)
  * Integrate galician translation, Closes: #447947

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 25 Oct 2007 18:36:27 +0000

mksh (31.4-1) unstable; urgency=low

  * New upstream release; summary of changes:
    - Support pcc (the ragge version of the Portable C Compiler)
    - Add pushd/popd/dirs functions (csh) and precmd/chpwd hooks (zsh)
      to dot.mkshrc which now requires readlink(1) with -f; requested
      by many (e.g. some Gentoo users; XTaran of symlink.ch)
    - Enable colour escapes in dot.mkshrc since almost nobody groks how
      to do it right from the manual
    - Remove -DMKSH_NEED_MKNOD checks from Build.sh, people should use
      the HAVE_MKNOD environment variable
    - Implement parallel make in Build.sh (not used by Debian)
    - Fix another busy-loop spinning problem introduced by an icc warning,
      thanks to spaetzle@freewrt.org for keeping to bug me to look for it,
      as it affected GNU/Linux most, followed by Solaris, rarely BSD
    - Improve standard integer type detection in Build.sh
    - Cleanups in code, build script and manual page
    - Clean up Build.sh and “test … -o …” doesn’t exist in Bourne
    - Detect if the non-standard u_int32_t type, which was unfortunately
      used by the OpenBSD project in designing the standard arc4random(3)
      API, is present (which it isn’t on Solaris), and, if not, emulate
      it using the standard uint32_t (ISO C99) from <stdint.h>, which we
      fake as needed (if the standard integer types are not present, e.g.
      on PW32 and OSF/1); change mksh as well as the arc4random.c
      contribution to not use these non-standard types
    - Remove unused types from the faked <stdint.h> file
  * Integrate updated translation into portugués, Closes: #444218
  * debian/rules: wait for script(1) to return, in case it runs
    asynchronously; we have seen weird results on Debian and Fedora

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 15 Oct 2007 18:23:01 +0000

mksh (31.2-1) unstable; urgency=low

  * New upstream minor release (R31b); summary of changes:
    - Fix a syntax error in Build.sh checking for TenDRA
    - Fix typo (blsk → bksl) in check.t test naming
    - Autoscan for uint32_t, u_int etc. presence
    - Fix some memory leaks, mostly by NetBSD® via OpenBSD
    - The “unset” builtin always returns zero, even if the variable was
      already unset, as per SUSv3 (reported by Arkadiusz Miskiewicz via
      pld-linux and oksh)
    - In tab-completion, escape the question mark, reminded by cbiere@tnf
    - Fix a busy-loop problem, Debian #296446 via oksh
    - Fix a few display output problems in the build script
    - Shut up some gcc warnings on Fedora; beautify some code
    - Support OSF/1 with gcc2.8, thanks to Jupp Schugt
    - Fix gcc4 detection of __attribute__() on non-SSP targets
  * debian/control: sync description with that of packages for other OSes
  * debian/menu: Apps → Applications, as per Lintian
  * debian/rules: do not run the testsuite with script on Debian GNU/HURD,
    because some translators seem to be unable to cope with the chroot
  * arc4random.c: use uint<n>_t consistently, helps compiling on OSF/1

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 11 Sep 2007 14:00:20 +0000

mksh (31.1-1) unstable; urgency=low

  * New upstream release (R31); summary of changes:
    - Support the TenDRA compiler (possibly also Ten15, not tried)
    - Begin supporting Fabrice Bellard’s Tiny C Compiler (tcc on Debian
      cannot link due to duplicate symbols in GNU libc, thus unfinished)
    - Improve some mirtoconf checks (most notably, mknod(2) and macros)
    - Add new emacs editing command “clear-screen” (ESC ^L) as requested
      by D. Adam Karim <archite@midnightbsd.org>
    - Support building for MidnightBSD
    - Add new shell alias “source”, semantics like the GNU bash builtin
    - Add new shell option “set -o arc4random”, controlling whether
      rand(3) or arc4random(3) is used for the $RANDOM value, use
      arc4random_pushb(3) if it exists
    - Add new builtin “rename” (just calls rename(2) on its arguments),
      for rescue purposes (like renaming ld.so)
    - Fix the inofficial OpenBSD port, from D. Adam “Archite” Karim, 10x
    - Disable the less(1) history file by default (privacy issues) in the
      sample dot.mkshrc file; mention other things in etc_profile (the
      additional sample mentioned on the mksh website)
  * Put the arc4random.c file under version control
  * Clean up the copyright file (rm commented stuff from Debian experimental)
  * Mention /dev/tty is also needed in debian/rules pre-build echo

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 07 Sep 2007 19:34:25 +0000

mksh (30.1-1) unstable; urgency=low

  * New upstream major release (R30); summary of changes:
    - Build on and for Solaris, Linux and MirBSD with Sun's C compiler
    - No longer build a statically linked shell by default; do not try,
      do not provide any means; user has to use LDFLAGS instead.
    - Remove some probably dead mirtoconf checks
    - Remove commented out -fwhole-program --combine check and still
      active -fno-tree-vrp bug workaround thing, the latter because the
      bug seems to only appear for functions that also exist as a builtin
      (which was declared with the nonnull attribute)
    - Fix a long-standing typo, 10x moritz@obsd
    - Prefer more common signal names (SIGCHLD) over uncommon ones (SIGCLD)
    - Quieten gcc and support SUNpro 5.8 on Solaris 10 on sparc64
    - Optimise signal handling and detection; enable compilers whose
      præprocessor doesn't have -dD to generate list of signals
    - Optimise mirtoconf meta-checks for persistent history etc.
    - Fix a bug preventing manual page generation on Solaris
    - Add support for the Intel® C Compiler and quieten it a little;
      fix a few minor buglets (mostly type conversion) its too verbose
      warnings show, as well as some errno ab-/mis-use
    - Remove support for honouring the CPP environment variable;
      $CC -E - is simply used instead in the places where $CPP was used
      previously, because that was used in other places already, and
      to prevent it from behaving differently from the $CC used
    - If a file called arc4random.c is lying around in the source directory
      at mirtoconf time, scan for <sys/sysctl.h> and use the file if
      arc4random(3) isn't found otherwise. From Debian GNU/kFreeBSD.
    - If the basename of argv[0] starts with “sh”, activate FPOSIX early,
      preventing some typical ksh aliases from being defined
    - If FPOSIX, don't pre-define aliases (except integer and local) to
      benefit operating environments that never heard of the great Korn Shell…
    - #if defined(MKSH_SMALL) || defined(MKSH_NOVI) disable the vi editing mode
    - Don't try to execute ELF, a.out, COFF, gzip or MZ binaries
    - Can be built on HP-UX (PA-RISC and IA64) with gcc or HP C/aC++
    - Support x=(a b c) bash-like array initialisation
    - Support ${foo:2:3} bash-like substring expansion
    - Many mirtoconf improvements, fixes; speed-up; better portability
    - Enable compilation using Microsoft C/C++ Standard Compiler
    - Add UWIN build target using various compilers with the cc wrapper
    - Fix struct padding mistakes uncovered by the Microsoft compiler
    - Fix double initialisation / unused value assignment errors
      unveiled by Borland C++ Builder 5.5
    - Fix superfluous code detected by gcc 4.2
    - Fix large file support for OSes that require CPPFLAGS contains
      -D_FILE_OFFSET_BITS=64 – it was detected but not actually used
      in the build; thanks to hondza for the problem report!
    - Give the lexer a bigger state stack if !MKSH_SMALL
    - Prepare for addition of make(1)-style search/replace operations;
      correct the code for other substitution expansion operations
    - Default $CC to cc not gcc, this is no non-unix-ware ☺
    - Support AIX with gcc and xlC; clean up code to warning-free
    - Prefer well-known signal names to alphabetically earlier ones
    - Fix a bug delivering ERR and EXIT pseudo-signals to traps combined
      with “set -e”, thanks Clint Pachl and Otto Moerbeek for the hint
  * Update German translation, Closes: #428590 (still pending resolution
    of the dash-as-/bin/sh and debconf common field issue described in
    http://thread.gmane.org/gmane.linux.debian.devel.release/17423 so
    please do not submit new translations until that issue is resolved)
  * Reflect changes in the description in debian/control

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 26 Jul 2007 20:25:02 +0000

mksh (29.6-2) unstable; urgency=low

  * Re-run debconf-updatepo which was missed after we changed note into error
  * Fix arc4random on HURD by integrating it into the Build.sh script and
    scanning for prerequisite headers

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 10 Jun 2007 07:51:06 +0000

mksh (29.6-1) unstable; urgency=low

  * New upstream formal release; summary of relevant changes:
    - Remove some redundant or unused functions
    - Fix several horizontal scrolling, display, scrollbar, etc. bugs
      unveiled by David Ramsey
    - Fix a few bugs found by Coverity Scan
    - Optimise dot.mkshrc sample file; add a speed alias
    - Fix a few shortcomings in the build system
  * Pull in arc4random support
  * Make it possible to install mksh as /bin/sh the same way as
    dash does, copy the necessary files from dash (my apologies to
    the translators, I simply search'n'replaced the term dash by mksh)
  * Install dot.mkshrc as /etc/skel/.mkshrc conffile

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 28 May 2007 18:12:23 +0000

mksh (29.3-1) unstable; urgency=low

  * New upstream formal release; summary of changes:
    - portability fixes (darwin, hp-ux, solaris, new port to aix)
    - size optimisation if utf-8 mode is assumed by default (not in Debian)
    - small manual page fixes
    - Do not scan for and use "-fwhole-program --combine" because it's the
      cause of at least http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=408850
      and breakage with FORTIFY_SOURCE on SuSE; thanks to Pascal Bleser (yaloki),
      Marcus Rueckert (darix), Martin Zobel-Helas, Steve Langasek (vorlon) for
      tracking this bug down in two different places; Closes: #421518
  * remove the possible workaround mentioned in the changes for 28.9.20070309
    because the problem has been solved upstream

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 30 Apr 2007 21:53:12 +0000

mksh (29.2-1) unstable; urgency=low

  * New upstream formal release; summary of changes:
    + a plethora of UTF-8 fixes:
    - display control characters U+0080..U+009F the same as U+0000..U+001F,
      i.e. a caret followed by the character corresponding to the control
      character XOR 0x0040, treat their width as 2 subsequently
    - fix crash (cpu hog in spinning loop) on meta-tab + backspace
    - strip off UTF-8 byte order mark at beginning of input
    - if a BOM is encountered, switch on utf-8 command line editing mode
    + in utf-8 command line editing mode, handle invalid input more strictly:
    - if in x_literal(), i.e. the ^V mode (bind to quote), allow it as before
    - if it's the start of an invalid multibyte sequence, reject with a beep
      (e.g. if trying to input latin1 chars)
    - if it's an invalid or partial multibyte sequence, reject silently
    -> this makes command line editing much more robust
    + other bug fixes:
    - in a rare condition (error path), the wrong function was used to copy
      a string that could contain embedded NULs (encoded format), leading to
      memory access past malloc'd area
    - in the same path, fix an out-of-bounds access inherited from openbsd ksh
    -> discovered on Debian GNU/Linux experimental ia64, glibc 2.5-beta
    + new functionality:
    - if execve() fails, before passing the file to $EXECSHELL, open it and
      try to parse a shebang line; if we find one, do it ourselves
      (the good part of this is that it even works when there is a UTF-8 BOM
      before the shebang magic sequence)
    - for shebang processing, not only NUL or LF but also CR terminate the line
    - enhancements to the "dot.mkshrc" sample file (which is now regularily
      used upstream as well)
    - if the internal function exchild() fails, don't just tell the user that
      it failed, tell him WHAT failed (unless -DMKSH_SMALL)
    + code cleanup changes:
    - remove unused functions, macros
    - fix typos, errors, etc.
    - shut up gcc 4.1.2 warnings
    - Build.sh cygwin vs unix cleanup/simplification
    - shrink manual page to 39 DIN A4 pages when output as postscript
    + reliability changes:
    - if $CC supports -fstack-protector-all, add it to $CFLAGS
    - if $CC supports -fno-tree-vrp, add it to $CFLAGS if $CC is subject to
      the bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30785
    - add mirtoconf check for "large file support", requested by bsiegert@,
      needed for some *nix, idea and implementation hints from GNU autoconf
    - add zsh workaround to Build.sh, just in case (untested)
  * disable the possible workaround mentioned in the changes for 28.9.20070309
    because I was unable to verify/test it; maybe it only applies to the glibc
    in experimental anyway, we'll see to that later
  * add a comment about the regression test needing openpty() to debian/rules
  * remove non-ASCII (i.e. high-bit7) characters from diff/changelog
  * slightly enhance package description
  * properly indent homepage link in description, thanks KiBi (kfreebsd team)

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 25 Apr 2007 11:36:42 +0000

mksh (28.9.20070309) experimental; urgency=low

  * Add possible workaround for #408850 by disabling -std=gnu99 (untested)
    so that this package at least compiles on Alpha until the bug
    can be fixed
  * Restore Debian prefix in copyright file accidentally lost in 28.9.20070304
  * Do not build-depends-on-essential-package-without-using-version, remove
    explicit dependency on bsdutils

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 10 Mar 2007 01:12:20 +0000

mksh (28.9.20070304) experimental; urgency=low

  * Due to failures like this one:
    ``cat: /build/buildd/mksh-28.9.20070218/builddir/screenlog.0:
      No such file or directory''
    in http://experimental.ftbfs.de/fetch.php?&pkg=mksh&ver=28.9.20070218&arch=powerpc&stamp=1171913314&file=log&as=raw
    - remove the use of GNU screen to run the testsuite again
    - use 'script' from the Debian bsdutils package) to run the
      regression test suite within a controlling tty
    (this is experimental)
  * New upstream release candidate; summary of changes:
    - Work around Solaris /usr/ucb/tr, Solaris /usr/xpg4/bin/tr,
      Minix 3 /usr/bin/tr, and SUSv3 deficiencies
    - Fix compilation on more platforms (Interix, Cygwin, Linux 2.0 libc5,
      Debian GNU/kFreeBSD, Debian GNU/HURD, ...)
    - Use autoconfiguration for persistent history stuff
    - Fix the code (add "const" in like 1001 places) to be able to
      build without -Wno-cast-qual (hope it's safe now)
    - Optionally use const-debugging versions of strchr(3), strstr(3),
      to work around deficiencies in ANSI C
    - The above directly led to our own strcasestr(3) implementation
      for OSes which don't have it
    - Optimise dot.mkshrc macros
    - Remove shadowing warnings for more OSes
    - Support old ash(1) versions in Build.sh
    - Support use of _NSIG for NSIG
    - Optimise ctags(1) generation
  * Honour ${CC}

 -- Thorsten Glaser <tg@mirbsd.de>  Tue,  6 Mar 2007 03:44:58 +0000

mksh (28.9.20070218) experimental; urgency=low

  * New upstream development snapshot; summary of changes:
    - fix 'hd' alias in dot.mkshrc example to not run off
      an ANSI standard 80 column screen; simplify
    - integrate MKSH_NEED_MKNOD and MKSH_ASSUME_UTF8 with Build.sh

 -- Thorsten Glaser <tg@mirbsd.de>  Sun, 18 Feb 2007 20:34:48 +0000

mksh (28.9.20070216) experimental; urgency=low

  * New upstream development snapshot; summary of changes:
    - if MKSH_SMALL, don't include -T support and don't scan
      for revoke() function
    - new #ifdef MKSH_NEED_MKNOD to embed mknod(8) even if
      MKSH_SMALL is enabled
    - do not scan for revoke() on GNU/Linux since it always fails
    - simplify GNU/Linux CPPFLAGS and use them for GNU/HURD and
      GNU/kFreeBSD (tested on Debian experimental, thanks to the
      ftbfs.de autobuilder and Michael "azeem" Banck)
    - fix the 'bind' (no args) builtin output
    - new #ifdef MKSH_ASSUME_UTF8 to not check setlocale() and
      nl_langinfo(CODESET) if we want to always enable the utf-8
      command line editing mode
    - tabcomplete a newline to singlequote+newline+singlequote
      instead of backslash+newline which is eaten; thanks to
      Thomas E. "TGEN" Spanjaard for noticing
    - remove shebang line from check.pl which isn't +x anyway
  * control: add ed(1) as suggested package, for history editing
  * control, rules: add GNU screen as build dependency; use it to
    provide a tty to the regression test suite so it can succeed in
    the Debian autobuilding mechanism; tested on i386-linux, i386-hurd
  * control: only the emacs editing mode is utf-8 safe (fix description)

 -- Thorsten Glaser <tg@mirbsd.de>  Fri, 16 Feb 2007 20:32:52 +0000

mksh (28.9.20070118) experimental; urgency=low

  * New upstream development snapshot; summary of changes:
    - autoconfify compiler flags, c preprocessor
    - add option to avoid pulling in getpwnam(3) in !MKSH_SMALL
    - scan for certain headers, types; improve portability
    - speed up autoconfiguration process in failure case
    - finally fix static vs dynamic linking issues
    - fix manpage (.Nm macro) glitch with GNU nroff 1.15
    - improve auto-detection of which regression tests are valid
    - mention failure to revoke(2) is possibly insecure
  * As a result of upstream changes, simplify debian/rules
  * Testsuite failues are not fatal for Debian
  * Please note: this is a development snapshot from CVS, but this
    one is deemed "gamma stadium" (i.e. more stable than beta, and
    ready for public consumption by a broad mass of testers).

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 18 Jan 2007 20:57:40 +0000

mksh (28.9.20070117) experimental; urgency=low

  * Add -fwrapv to Debian CFLAGS to prevent unexpected code behaviour
  * New upstream development snapshot; summary of changes:
    - Don't expand ~foo/ if MKSH_SMALL, spares getpwnam(3) call
    - Fix and autoconfify signal list generation
    - Build.sh now uses $TARGET_OS as "uname -s" output for cross builds
    - Set flag for regression tests that can't succeed if MKSH_SMALL
    - Don't even check for setlocale(3) if MKSH_SMALL, unless overridden
      by user / build environment
    - Scan for C Preprocessor, use $CPP if $CC -E fails
    - Fix possible nil pointer dereferences and signal name mismatches
    - Scan for __attribute__((...)) and -std=gnu99 (req'd on Solaris 10)
    - Correct $LDSTATIC logic, unbreak -d, don't let the user override (or
      need to) $SRCS, $sigseen
    - Simplify TIOCGWINSZ handling, no need to catch SIGWINCH any more;
      window size changes are processed after input line editing ends (i.e.
      the lines are entered or ESC # (emacs mode) is pressed) and at
      startup; ^L (redraw) can't change window size on the fly
    - Add -fwrapv to standard CFLAGS, just to be safe, like with when I
      added -fno-strict-aliasing; this is pending a bug fix in gcc, see
      GCC PR#30477
  * Please note: this is a development snapshot from CVS as well;
    it may be included into Debian experimental, but is not recom-
    mended for Debian testing.

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 17 Jan 2007 09:32:11 +0000

mksh (28.9.20070106) experimental; urgency=low

  * New upstream development snapshot; summary of changes:
    - Fix UTF-8 locale detection and segfaults
    - Use RLIMIT_AS if RLIMIT_VMEM is not available
  * Please note: this is a development snapshot from CVS as well;
    it may be included into Debian experimental, but is not recom-
    mended for Debian testing.

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 06 Jan 2007 18:55:09 +0000

mksh (28.9.20061211) experimental; urgency=low

  * New upstream development snapshot; summary of changes:
    - Spelling and wording fixes in the manual page and copyright file;
      keep the latter in sync with the latest MirOS licence template
    - One correct cast for the ulimit builtin
    - Portability #warning for developers (not seen on BSD, but
      yields a TODO for Debian)
  * Please note: this is a development snapshot from CVS as well;
    it may be included into Debian experimental, but is not recom-
    mended for Debian testing. If you already have 28.9.20061121,
    like the SuSE guru repository of loki, you do not need this
    minor update.

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 11 Dec 2006 21:53:42 +0000

mksh (28.9.20061121) experimental; urgency=low

  * Add -fno-strict-aliasing to default CFLAGS, as per upstream suggestion
  * New upstream development snapshot; summary of changes:
    - Fix portability of regression tests using fgrep(1), twice
    - Fix description of $RANDOM in manual page
    - Fix build under OpenSolaris Build 47 (reported in IRC)
    - Use easier __RCSID() stuff from MirOS #9-current
    - Don't shebang with spaces in test.sh creation
    - Remove -fno-strength-reduce from default CFLAGS, the compiler bug was
      fixed between gcc 2.7.2 and gcc 2.7.2.1...
    - Avoid unaligned memory access causing SIGBUS on IA-64 on Debian
    - Convert to autoconf-style check for function and header file existence
      of <sys/param.h>, arc4random(3), arc4random_push(3), setlocale(3) and
      LC_CTYPE, nl_langinfo(3) and CODESET, getmode(3) and setmode(3),
      strcasestr(3), and strlcpy(3)
    - Add set -o utf8-hack aka mksh -U which changes the Emacs editing mode
      to an experimental CESU-8 aware multibyte mode (not implemented using
      wide chars unless internally needed; does not require OS support); check
      setlocale(LC_CTYPE, "") and nl_langinfo(CODESET) if found to auto-enable
      utf-8 mode in interactive shells
    - Simplify and clean up code; try to remove or replace function calls by
      smaller equivalents; spot a few non-fatal off-by-one errors
    - If Build.sh is called with -DMKSH_SMALL in the CPPFLAGS environment
      variable, the built-in mknod(8) will not be included, and other
      functionality and verbose usage messages will be excluded; some macros
      will be turned into functions to save space and to check if the
      utf8-hack should be enabled, nl_langinfo(3) is not called. The -T
      option to mksh(1) and persistent history are not supported.
    - Hand-optimise the code to be small, even in the normal build
    - Unbreak the -d option to Build.sh
    - Check for cc options -Wno-error, -fwhole-program --combine, and (if
      MKSH_SMALL) -fno-inline and use them if they don't fail
    - The autoconf-style ("mirtoconf") checks have been enhanced,
      improved and be made more verbose by default
    - Rewrite a few functions both to save space and to simplify/unify the
      code; also spotted a few bugs in existing (inherited) code
    - Fix format string mistakes and wrong function and data prototypes
    - Correct zero-padding for right-justified strings; add regression test
    - EXECSHELL is now ${EXECSHELL:-/bin/sh} again
    - Remove duplicate code if feasible; rewrite remaining code to solve all
      use cases, or use standard library functions such as qsort(3); rework
      the ctypes and chtypes stuff, get rid of libc/ctype.h
    - Change the eaccess() code to not use setreuid(2) and friends, like
      OpenBSD ksh and apparently pdksh. I'm not too sure about the
      implications, except that they only affect setuid shell scripts.
    - Use setresuid(2) and friends, and setgroups(3) and <grp.h> instead
      of seteuid(2), setuid(2) etc. on operating systems that support them
    - Work around (i.e. remove) all but two -Wcast-qual issues
    - Work around a bug in the GNU implementation of the Berkeley mdoc macros
      which comes with GNU groff (only visible in MirOS with groff -mgdoc, but
      shows on other operating systems), discovered by crib in IRC
    - $RANDOM is always an unsigned 15-bit decimal integer, for all Korn shell
      derivates; idea from twkm in IRC
    - Improve/correct description of typeset command in manpage, and
      implementation of typeset -p in mksh
    - Remove the non-standard emacs-usemeta and vi-show8 shell options, assume
      the user either has a 7-bit environment, an 8-bit clean terminal, or a
      UTF-8 environment (preferred), and the dummy sh option
    - Build.sh fix for conservative (old) versions of gcc; help Debian
  * Mention UTF-8 support in the Debian control file's Description field
  * PLEASE NOTE: this is not intended to be uploaded into testing, because
    it is based upon a CVS checkout of mksh-current, and not of a formal
    release. The "mksh 28.9.yyyymmdd" series is based upon CVS snapshots of
    mksh-current (mksh R29-beta), and subject to changes. This part of the
    changelog might differ in the following mksh-29.0-1 upload to Debian.
    This code is *not* well-tested and may have been broken on various other
    operating systems and maybe architectures; it may have introduced further
    memory leaks. It is recommended to only use it to evaluate mksh's recent
    development and help finding bugs and fixing them. No warranty, as usual.

 -- Thorsten Glaser <tg@mirbsd.de>  Tue, 21 Nov 2006 21:49:44 +0000

mksh (28.0-3) oldstable; urgency=high

  * Fix CVE-2008-1845 (unauthenticated local privilege escalation)
    using upstream-provided diff

 -- Thorsten Glaser <tg@mirbsd.de>  Thu, 17 Apr 2008 21:55:05 +0000

mksh (28.0-2) unstable; urgency=low

  * Fix unaligned memory access on IA-64 (same fix was applied
    upstream for the next full release)

 -- Thorsten Glaser <tg@mirbsd.de>  Sat, 30 Sep 2006 19:59:10 +0000

mksh (28.0-1) unstable; urgency=low

  * sample file (dot.mkshrc) is now in upstream
  * New upstream release; summary of (Debian user relevant) changes:
    - Fix some more -Wchar-subscripts
    - Adjust manual page to the fact that mksh can be used as
      /bin/sh although it's not specifically designed to
    - Correct and enhance book citation list in the manual page
    - Bring back the "version" editing command in both emacs and
      vi modes, at ESC ^V like AT&T ksh93r+
    - Fix typo which resulted in the wrong names for signals being
      printed (error codes were used instead) on GNU/Linux, Solaris
      and GNU/Cygwin. Ease changing signame/siglist sources.
    - Some more code, manual page, build system and regression test
      changes, cleanup and redundancy removal
    - Merge a few OpenBSD changes, yielding better multiline prompt
      support and textual improvements in the manual page
    - Adjust $PS1 sizing, printing, and redrawal routines
      for mksh behaviour and single- and multiline prompts
    - For the AT&T $PS1 hack (second char = CR), do not
      output the delimiting characters any more, even if they
      are printable - fixes platforms without non-printable
      characters (Interix, Cygwin) and prompt size calculation
    - Calculate length of prompt in lines and columns-of-last-line
      instead of using some tricks to skip the beginning of the prompt,
      resulting in correct redrawing of prompts with ANSI colour codes
    - Correct displaying of prompts spanning more than one line
      and/or with embedded newlines or carriage returns; correct
      documentation of $PS1 and the redraw editing command
    - Change one of the testsuite "expected failure" tests from bug
      to feature - it might actually be required by BSD make
    - Enable to bind key sequences which consist of the usual optional
      one or two praefices and the control character, as well as an
      optional trailing tilde (if the trailing character is not a tilde,
      it's processed as usual, but processing of the editing command is
      postponed until after the trailing character has been read)
    - Bind the NetBSD(R) wscons (vt220 / wsvt25), GNU screen and
      XFree86(R) (xterm-xfree86) "home", "end"
      and "delete" keys to ^A, ^E and ^D, respectively, except
      that "delete" does not act as logoff switch
    - Make sure ^T is bound to 'transpose' as documented
      (bug spotted by hondza)
    - Remove the 'stuff' and 'stuff-reset' editing commands
    - Correct the manual page regarding the 'abort' command, its
      interaction with 'search-history' and how to exit the latter
    - Bring back "set -o posix" turning off 'braceexpand'
    - Mention IRC support channel and mailing list in manual page
    - Make the "last command of a pipeline is executed in a
      subshell" issue a dependable mksh feature
    - Improve regression test comments and a few tests
    - If $RANDOM is generated from arc4random(3), display at
      most 31 bits of it like nbsh(1), instead of only 15 bits.

 -- Thorsten Glaser <tg@mirbsd.de>  Sat,  9 Sep 2006 11:49:07 +0000

mksh (27.4-2) unstable; urgency=low

  * Fix build if zsh is used as build shell by forcing /bin/sh

 -- Thorsten Glaser <tg@mirbsd.de>  Fri,  7 Jul 2006 19:25:32 +0000

mksh (27.4-1) unstable; urgency=low

  * New upstream release; summary of changes:
    - build system fixes (honour CPPFLAGS, ...)
    - documentation fixes (manual page date/version)
    - only source ${ENV:-~/.mkshrc} for interactive (FTALKING) shells
      (change in behaviour towards principle of least surprise)
    - fix "char subscripts" warnings
  * Be more verbose on build, to aid debugging the buildd logs
  * Install a sample ~/.mkshrc file showing how flexible mksh is and
    providing a bash-like $PS1 to the user
  * Add persistent (official) homepage to package description

 -- Thorsten Glaser <tg@mirbsd.de>  Tue,  4 Jul 2006 15:42:23 +0000

mksh (27.2-1) unstable; urgency=low

  * New Debian Standards-Version, no changes for us
  * New upstream release; summary of changes:
    - emacs-usemeta now behaves like vi-show8 to facilitate
      e.g. japanese UTF-8 input on the command line (such as
      filenames); be careful with 0x80-0x9F
    - portability cleanup and speed-up
    - GNU groff compatible manual page
    - add ~/.mkshrc processing, requested by Jari Aalto for
      the Debian-based Stem Desktop; see manual page for details
    - illustrate a few tricks (e.g. setting $PS1) in manual page
    - enhance testsuite
    - incorporate some more code cleanup by OpenBSD
    - reference the O'Reilly books in the manual page
  * As a result, remove some patches now in upstream
  * Add ed(1) as build dependency, needed for regression tests

 -- Thorsten Glaser <tg@mirbsd.de>  Wed, 31 May 2006 18:58:16 +0000

mksh (26.2-2) unstable; urgency=low

  * There was another .St -susv3 in the manual page;
    replace it by the expanded version.
  * No comma in front of "which" in English (copyright file)

 -- Thorsten Glaser <tg@mirbsd.de>  Thu,  2 Feb 2006 18:08:34 +0000

mksh (26.2-1) unstable; urgency=low

  * New upstream release; summary of relevant changes:
    - Change quoting policy (regarding backslash-doublequote) in
      here documents to conform to SUSv3 (to migrate, change all
      occurences of backslash-doublequote to just doublequote)
    - Update documentation
    - Clean up code
    - Fix some more GCC 4 warnings
  * Remove no longer needed workaround

 -- Thorsten Glaser <tg@mirbsd.de>  Mon, 30 Jan 2006 12:03:02 +0000

mksh (25.0-1) unstable; urgency=low

  * New upstream release; summary of changes:
    - add a builtin: mknod (can do pipes and devices)
    - remove 'version' editor binding and remap emacs ^V to
      quote-meta ('literal')
    - fix redraw and window resize problems; COLUMNS and LINES
      are now updated as soon as the new size is set
    - allow < and > for test and [, not only [[
    - if an array index is out of bounds, tell which one
    - document quoting policy in here documents
    - correct some mistakes in the manual page
    - fixes for GCC 4 warnings
    - code and build system simplifications
  * As a result, simplify debian/rules accordingly
  * Copy all "non-standard" licences into the copyright file
  * Work around GNU groff not having .St -susv3

 -- Thorsten Glaser <tg@MirBSD.org>  Wed, 26 Oct 2005 09:27:39 +0000

mksh (24.0-1) unstable; urgency=low

  * New upstream release; relevant changes are:
     - no longer look at argv[0] to determine if restricted shell
     - changes to $EDITOR and $VISUAL no longer affect
       the current editing mode
     - emacs on, emacs-usemeta off is now the default editing mode
     - the special "posix" and "sh" modes are gone
     - code, test suites and documentation have been cleaned up a little
     - Korn's bizarre /dev/fd hack is now no longer supported
     - undo fix for Debian PR #71256 which turned to be bogus
       and break BSD make
     - fix compilation and invocation of test suite with whitespace
       in the pathnames for real, this time
  * Fix typo in description; Closes: #317785
  * Note that this is no superset of pdksh any more in description
  * New debian-policy version

 -- Thorsten Glaser <tg@MirBSD.org>  Tue, 12 Jul 2005 12:25:11 +0000

mksh (23.0-1) unstable; urgency=low

  * New upstream version
  * Clarify licence

 -- Thorsten Glaser <tg@MirBSD.org>  Wed, 22 Jun 2005 14:40:56 +0000

mksh (22.3-1) unstable; urgency=low

  * Update upstream source to mksh R22d
  * Remove some superfluous whitespace

 -- Thorsten Glaser <tg@MirBSD.org>  Sun,  5 Jun 2005 16:45:42 +0000

mksh (22.2-2) unstable; urgency=low

  * Rename postinst, prerm, menu to mksh.{postinst,prerm,menu}
  * Always run testsuite
  * Install the binary with 755 permissions
  * Remove superfluous grep in rules
    (All of the above based upon suggestions by sponsor Bastian Blank)
  * Use dh_install instead of homegrown calls (patch by Bastian Blank)
  * Regenerate .orig.tar.gz with MirBSD cpio since GNU cpio generates
    invalid ustar archives (broken mtime)

 -- Thorsten Glaser <tg@MirBSD.org>  Thu,  2 Jun 2005 07:47:33 +0000

mksh (22.2-1) unstable; urgency=low

  * Initial Release

 -- Thorsten Glaser <tg@MirBSD.org>  Sat, 28 May 2005 22:02:17 +0000