-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changes
603 lines (392 loc) · 17.7 KB
/
Changes
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
Revision history for List::Util
1.46_03 - 2016-08-23
- also load old XS code for 1.45_xx versions
1.46_02 - 2016-08-23
- additional diagnostic test
- don't throw errors when old XS fails to load if there is a PP implementation
- do a better job setting up @Scalar::Util::EXPORT_FAIL
- avoid loading DynaLoader when possible
- cope better with old Scalar::Util that had a PP implementation
- if List::Util::XS is lacking a sub, use the implementation from
List::Util::PP.
1.46_01 - 2016-08-18
- List::Util has been split out from Scalar-List-Utils as a pure-perl module,
optionally using List::Util::XS
- fix tests under ancient Test::More
1.45 -- 2016/03/25 16:09:40
[CHANGES]
* Renamed existing uniq() to uniqstr()
* Canonicalise undef to {empty string,zero} in uniq{str,num}()
* Add a new uniq() with more DWIMish semantics around undef
[BUGFIXES]
* Fix uses of GET magic by the uniq*() family of functions. GET magic
is now always invoked exactly once if it exists.
1.44 -- 2016/03/17 23:08:46
[CHANGES]
* Added List::Util::uniq() and uniqnum()
(with thanks to randir and ilmari for assistance writing code and
tests)
1.43 -- 2016/02/08 15:05:23
[CHANGES]
* Updated documentation
* Added MIN_PERL_VERSION to Makefile.PL
* Added "use warnings" to all tests
* Added MANIEST.SKIP patterns for common editor backup/swapfiles
* Test product(0,0) (RT105415)
[BUGFIXES]
* Fix build on non-C99 compilers
* Avoid divide-by-zero exception if product()'s accumulator is IV zero
(RT105415)
* Possible fix for SvTEMP issues in first and any/all/none/notall
(RT96343)
1.42 -- 2015/04/32 01:25:55
[CHANGES]
* Added List::Util::unpairs() - the inverse of pairs()
* Documentation to pre-warn users about the possible behaviour in a
later version where the pair* higher-order functionals are no longer
transparent to $_
[BUGFIXES]
* Silence some warnings at test time
* Ensure that the List::Util we're loading the XS via is a sufficient
version when Scalar::Util or Sub::Util load it (RT100863)
1.41 -- 2014/09/05 15:49:50
[BUGFIXES]
* Avoid pre-C99 declaration after statements (RT98624)
* Fix use of GetMagic in List::Util::reduce (RT63211)
1.40 -- 2014/08/30 11:36:36
[CHANGES]
* Added entire new module, Sub::Util to contain functions related
to CODE refs
* Added subname inspired by Sub::Identify
* Added set_subname copied and renamed from Sub::Name
* Also moved set_prototype into Sub::Name, with back-compat wrapper
in Scalar::Util
* Added prototype wrapper of CODE::prototype, for completeness
* Nicer module documentation format, allows neater use of L</...>
[THANKS]
* This change was written at the YAPC::EU 2014 Hackathon hosted by
Liz Mattijsen and Wendy van Dijk; much thanks to them for being its
catalyst.
1.39 -- 2014/06/05 15:54:59
[CHANGES]
* Have pairs() return blessed objects that recognise ->key and
->value as well as being two-element ARRAYs
* Booleanise the result of looks_like_number() so as not to
accidentally leak abstraction (RT94806)
* Document the version each function was added in (RT96220)
[BUGFIXES]
* Try to preserve UV precision in sum() where possible (RT95902)
* Document known lexical capture in pairmap bug RT95409
* SvGETMAGIC() in set_prototype() (RT72080)
1.38 -- 2014/01/22 15:33:24
[BUGFIXES]
* Avoid Perl_ckwarn() in unweaken() because it's missing on older
perls; ckWARN() like the rest of the code (RT92363)
1.37 -- 2014/01/21 14:44:34
[BUGFIXES]
* Fix unweaken() for perls < 5.14; need to use sv_setsv() to undef
rather than sv_clear() (RT92226)
1.36 -- 2014/01/16 15:40:47
[CHANGES]
* Added Scalar::Util::unweaken()
* Various documentation changes/updates
[BUGFIXES]
* Correct uses of overload operators in unit tests (RT91969)
1.35 -- Sat Oct 19 01:35 UTC 2013
* Added List::Util::product()
* Ensure that List::Util::{any,all,none,notall} return PL_sv_{yes,no}
* Implement reduce() and first() even in the absence of MULTICALL
1.34 -- Wed Oct 16 13:04 UTC 2013
* Avoid C99/C++-style comments in XS code
* Fix dualvar tests for perl 5.6; fix skip() test counts in dualvar.t
* Neater documentation examples of other functions that can be built using
reduce
1.33 -- Sun Oct 13 01:35 UTC 2013
* Added any, all, none, notall list reduction functions
(inspired by List::MoreUtils)
1.32 -- Sun Aug 31 23:48 UTC 2013
* Skip pairmap()'s MULTICALL implementation 5.8.9 / 5.10.0 as it doesn't
work (RT87857)
* Comment on the fact that package "0" is defined but false (RT88201)
* TODO test in t/readonly.t now passes since 5.19.3 (RT88223)
1.31 -- Wed Aug 14 20:38 UTC 2013
* Bugfix pairmap to return list length in scalar context
* Added "Odd number of elements" warnings to all pair* functions
1.30 -- Mon Aug 05 13:09 UTC 2013
* Added pairfirst
* Added MULTICALL implementations to pairmap/pairgrep/pairfirst
* Fix declaration-after-code for C99-challenged compilers
* Documentation updates to List::Util
1.29 -- Thu Aug 01 13:40 UTC 2013
* Bugfix to pairmap/pairgrep when stack moves beneath them during operation
1.28 -- Thu Aug 01 12:19 UTC 2013
-- BROKEN; do not use. See 1.29
* Added pairgrep, pairmap, pairs (inspired by List::Pairwise)
* Added pairkeys and pairvalues
1.26_001 -- Sun Dec 23 15:58
* Fix multicall refcount bug RT#80646
1.26 -- Sun Dec 16 19:39
* Merge patch from JDHEDDEN - Add Scalar::Util::isdual() RT#76150
1.25_01 -- Wed Nov 21 09:47
* Fix a hash order dependency bug t/tainted.t
(Currently this is a core only version to fix perl5 smokes)
1.25 -- Sat Mar 24 13:10:13 UTC 2012
* Restore back-compat. to perl 5.6 (thanks to Zefram)
1.24 -- Thu Mar 22 18:10:10 UTC 2012
* Update to 1.24 release version (no other changes since 1.23_04).
1.23_04 -- Sat Mar 10 00:16:16 UTC 2012
* RT#72700 Fix off-by-two on string literal length
1.23_03 -- Tue Sep 14 10:09:59 CDT 2010
* Min perl version supported for build is not 5.008
* Dropped the pure-Perl implementation of both Scalar::- and List::Util.
* RT#61118 Fix assumption in sum() that once magic, always magic
1.23_02 -- Tue Mar 30 11:09:15 CDT 2010
* Fix first() and reduce() to check the callback first; &first(1) is now illigal. [gfx]
* Fix reduce() to allow XSUB callbacks [gfx]
* Fix first() to allow XSUB callbacks [gfx]
* Resolve RT #55763: tainted() doesn't do SvGETMAGIC(sv) [gfx]
* define CvISXSUB so older perl versions will still compile
1.23_01 -- Mon Mar 22 08:24:11 CDT 2010
* Add failing tests; SVt_RV is not directly SvROK [gfx]
* Implement openhandle() in XS (with extra tests) [gfx]
* Modernize *.pm [gfx]
* Modernize ListUtil.xs [gfx]
* Add ppport.h [gfx]
* Fix an overloading issue on sum(), and add tests for overloading [gfx]
* Small tweaks for minstr()/maxstr() [gfx]
* Optimize dualvar() [gfx]
* Use sv_copypv() instead of SvPV() and sv_setpv() [gfx]
* avoid non-portable warnings
1.23 -- Wed Mar 10 20:50:00 CST 2010
* Add a test file to ensure 'GETMAGIC' called once [gfx]
* "GETMAGIC" should be called only once [gfx]
* Use PERL_NO_GET_CONTEXT for efficiency (see perlguts) [gfx]
* Don't care about dVAR. ExtUtils::ParseXS deals with it. [gfx]
* t/p_max.t, t/p_min.t fail on perl5.8.1. [tokuhirom]
* avoid non-portable warnings
* Fix PP::reftype in edge cases [gfx]
1.22 -- Sat Nov 14 09:26:15 CST 2009
* silence a compiler warning about an unreferenced local variable [Steve Hay]
* RT#51484 Preserve utf8 flag of string passed to dualvar()
* RT#51454 Check first argument to first/reduce is a code reference
* RT#50528 [PATCH] p_tainted.t fix for VMS [Craig A. Berry]
* RT#48550 fix pure perl looks_like_number not to match non-ascii digits
1.21 -- Mon May 18 10:32:14 CDT 2009
* Change build system for perl-only install not to need to modify blib
* When building inside perl, tests for weaken should be always run (Alexandr Ciornii)
1.20 -- Wed May 13 16:42:53 CDT 2009
*** NOTE***
This distribution now requires perl 5.6 or greater
Bug Fixes
* Fixed stack pop issue in POP_MULTICALL
* Fixed error reporting in import when XS not compiled
* Check first argument to reduce is a CODE reference to avoid segfault
* Handle overloaded and tied values
* Fix tainted test to run on Win32
Enhancements
* Added List::Util::XS so authors can depend on XS version
* Removed need for dummy methods in UNIVERSAL for perl-only code
1.19 -- Sun Dec 10 09:58:03 CST 2006
Bug Fixes
* Fix invalid conversion from `const char*' to `char*' warnings
* Avoid Makefile error when building on Win32
* Fix undefined symbol error for perl < 5.9.0
* Fix hardcoded "/" in a filepath that causes p_tainted.t to fail on VMS
Documentation
* Document that reduce calls BLOCK in a scalar context
* Add SEE ALSO sections to docs
Enhancements
* A new regression test for readonly, taking a reference to a constant passed to a sub
1.18 -- Fri Nov 25 09:30:29 CST 2005
Bug Fixes
* Fix pure-perl version of refaddr to avoid blessing an un-blessed reference
* Fix memory leak in first() and reduce()
* Pure perl version of looks_like_number now matches XS version for
references and undef. It will now return undef
Enhancements
* Support for using XSLoader instead of DynaLoader
* Use new multicall API
1.17 -- Mon May 23 08:55:26 CDT 2005
Bug Fixes
* Update XS code to declare PERL_UNUSED_DECL conditionally
1.16 -- Fri May 20 10:22:49 CDT 2005
Bug Fixes
* Change to refaddr.t test to avoid false errors on some 64 bit platforms
* Fix all perl only tests to work when in the core build environment
* Fix looks like number test to work for 5.8.5 and above
1.15 -- Fri May 13 11:01:15 CDT 2005
Bug Fixes
* Fixed memory leak in first()
Enhancements
* Converted tests to use Test::More
* Improved test coverage
* Changed Makefile.PL to use Module::Install
* Refactor use of Sv..X() macros to be Sv.._set()
* Changes from Jarkko for Symbian port of Perl
* Documentation updates to weaken()
1.14 -- Sat May 22 08:01:19 BST 2004
Bug Fixes
* Fixed memory leak in reduce()
* Added tests to check passing a reference to a constant to weaken() in perl >= 5.008003
* Fixed looks_like_number(undef) to return false for perl >= 5.009002
* Fixed bug in refaddr() when passed a tied variable
Switch to svn repository at http://svn.mutatus.co.uk/wsvn/Scalar-List-Utils/trunk/
Old perforce revision log below
Change 827 on 2003/09/25 by <[email protected]> (Graham Barr)
Release 1.13
Change 826 on 2003/09/25 by <[email protected]> (Graham Barr)
Fix NV casting issue with some compilers
Change 825 on 2003/08/14 by <[email protected]> (Graham Barr)
Release 1.12
Change 824 on 2003/08/14 by <[email protected]> (Graham Barr)
Don't directly use the SV returned as $a in the next iteration,
take a copy instead. Fixes problem if the code block result was from
an eval or sub call
Change 823 on 2003/08/14 by <[email protected]> (Graham Barr)
Install into the 'perl' installdirs for >= 5.008
Change 822 on 2003/08/14 by <[email protected]> (Graham Barr)
Fix test for EBCDIC portability
Change 771 on 2003/03/03 by <[email protected]> (Graham Barr)
Get path for make from $Config
Change 770 on 2003/02/14 by <[email protected]> (Graham Barr)
Release 1.11
Change 769 on 2003/02/14 by <[email protected]> (Graham Barr)
Add t/proto.t to MANIFEST
Change 768 on 2003/02/14 by <[email protected]> (Graham Barr)
Add set_prototype from Rafael Garcia-Suarez
Change 767 on 2003/02/14 by <[email protected]> (Graham Barr)
Fix t/isvstring.t so it does not cause perl5.004 to segv
because of the exit from within BEGIN
Change 766 on 2003/02/14 by <[email protected]> (Graham Barr)
Change how patchlevel.h is included and check we got what we wanted (from Jarkko)
Change 765 on 2003/02/14 by <[email protected]> (Graham Barr)
Add -DPERL_EXT to DEFINEs, requested by Jarkko for 5.8.1
Change 764 on 2003/02/04 by <[email protected]> (Graham Barr)
Release 1.10
Change 763 on 2003/02/04 by <[email protected]> (Graham Barr)
Fix linking error for older perls
Change 762 on 2003/02/04 by <[email protected]> (Graham Barr)
Make lln tests and perl implementation mimic changes to looks_like_number
in different perl versions
Change 761 on 2003/02/04 by <[email protected]> (Graham Barr)
Add looks_like_number
Change 760 on 2003/02/04 by <[email protected]> (Graham Barr)
Ensure PERL_DL_NONLAZY is false so we don't catch link errors during
bootstrap and then test the perl only version
Change 759 on 2002/12/12 by <[email protected]> (Graham Barr)
Release 1.09
Change 758 on 2002/12/12 by <[email protected]> (Graham Barr)
Use UV to return refaddr
Change 757 on 2002/11/03 by <[email protected]> (Graham Barr)
Add XS_VERSION
Change 756 on 2002/11/03 by <[email protected]> (Graham Barr)
Use PAD_* macros in 5.9
Reuse our own target when calling pp_rand in shuffle() so we dont need to create a fake pad
Change 751 on 2002/10/18 by <[email protected]> (Graham Barr)
Fix context so that sub for reduce/first is always in a scalar context
Fix sum/min/max so that they don't upgrade their arguments to NVs
if they are IV or UV
Change 750 on 2002/10/14 by <[email protected]> (Graham Barr)
Add isvstring()
Change 745 on 2002/09/23 by <[email protected]> (Graham Barr)
Scalar::Util
- Add refaddr()
Change 722 on 2002/04/29 by <[email protected]> (Graham Barr)
Release 1.0701
Change 721 on 2002/04/29 by <[email protected]> (Graham Barr)
Add comment to README about failing tests on perl5.6.0
Change 714 on 2002/03/18 by <[email protected]> (Graham Barr)
Release 1.07
Change 713 on 2002/03/18 by <[email protected]> (Graham Barr)
Add Scalar::Util::openhandle()
Change 647 on 2001/09/18 by <[email protected]> (Graham Barr)
Release 1.06
Change 645 on 2001/09/07 by <[email protected]> (Graham Barr)
Some platforms require the main executable to export symbols
needed by modules. In 5.7.2 and prior releases of perl
Perl_cxinc was not exported so we need to duplicate its
functionality
Change 644 on 2001/09/07 by <[email protected]> (Graham Barr)
Generate a typemap for NV for all perl version up to and
including 5.006
Change 643 on 2001/09/07 by <[email protected]> (Graham Barr)
Document problems known with specific versions of perl
Change 642 on 2001/09/05 by <[email protected]> (Graham Barr)
Release 1.05
Change 641 on 2001/09/05 by <[email protected]> (Graham Barr)
Fix shuffle() to compile with threaded perl
Change 640 on 2001/09/05 by <[email protected]> (Graham Barr)
Release 1.04
Change 639 on 2001/09/05 by <[email protected]> (Graham Barr)
Fix context type (caused a core on Tru64)
Call pp_rand via *(PL_ppaddr[OP_RAND])
Change 638 on 2001/09/05 by <[email protected]> (Graham Barr)
Documentation updates
Change 637 on 2001/09/03 by <[email protected]> (Graham Barr)
Release 1.03
Change 636 on 2001/09/03 by <[email protected]> (Graham Barr)
More changes to help merging with core dist
Change 635 on 2001/09/03 by <[email protected]> (Graham Barr)
Added List::Util::shuffle() similar to that described in
the perl FAQ except it returns a shuffled list instead of
modifying an array passed by reference
Change 632 on 2001/09/03 by <[email protected]> (Graham Barr)
Handle tied variables passed for the number to dualvar()
Preserve number type (IV/UV/NV) in dualvar()
Change 631 on 2001/08/31 by <[email protected]> (Graham Barr)
Handle eval{} inside of the code blocks for first and reduce
Change 629 on 2001/08/22 by <[email protected]> (Graham Barr)
perl5.004 does not like exit from within a BEGIN, it core dumps
Change 628 on 2001/08/22 by <[email protected]> (Graham Barr)
Fix stack problem in first() and reduce()
Align with core dist
Change 483 on 2000/04/10 by <[email protected]> (Graham Barr)
Release 1.02
Change 482 on 2000/04/10 by <[email protected]> (Graham Barr)
Check for SvMAGICAL on argument for reftype and blessed
Change 366 on 2000/03/03 by <[email protected]> (Graham Barr)
Release 1.01
Change 365 on 2000/03/03 by <[email protected]> (Graham Barr)
- Added auto-detection for a compiler and install the perl version
if not found
- Better perl implemenation of reftype, should be thread-safe now
Change 364 on 2000/03/03 by <[email protected]> (Graham Barr)
- Added some examples of simple subs that have been requested
but not added
- Updated copyright dates
Change 344 on 1999/11/10 by <[email protected]> (Graham Barr)
- Better testcase for reftype
Change 343 on 1999/11/10 by <[email protected]> (Graham Barr)
- Modules are now called List::Util & Scalar::Util
- Supports non-XS install
- perl version of reftype now returns "REF" when it should
Change 311 on 1999/06/01 by <[email protected]> (Graham Barr)
Updated README
Change 275 on 1999/03/22 by <[email protected]> (Graham Barr)
Removed forall as it is very broken
Change 274 on 1999/03/22 by <[email protected]> (Graham Barr)
Added List::Util::forall
Change 273 on 1999/03/21 by <[email protected]> (Graham Barr)
Added weaken and isweak to Ref::Util
Change 272 on 1999/03/21 by <[email protected]> (Graham Barr)
Add new .pm files to repository
Change 271 on 1999/03/21 by <[email protected]> (Graham Barr)
- Split into three packages Ref::Util, List::Util and Scalar::DualVar
- readonly and clock were removed in favor of other modules
Change 270 on 1999/03/21 by <[email protected]> (Graham Barr)
Rename package
Change 269 on 1999/03/21 by <[email protected]> (Graham Barr)
- Added reftype
- improved reduce by not doing a sub call
- reduce now uses $a and $b
- now compiles with 5.005_5x
Change 178 on 1998/07/26 by <[email protected]> (Graham Barr)
Modified XS code so it will compile with 5.004 and 5.005
Change 115 on 1998/02/21 by <[email protected]> (Graham Barr)
Fri Feb 20 1998 Graham Barr <[email protected]>
t/min.t, t/max.t
- Change sor to do a numerical sort
Fri Dec 19 1997 Graham Barr <[email protected]>
- Added readonly()
Wed Nov 19 1997 Graham Barr <[email protected]>
- Initial release