In perl.git, the branch smoke-me/khw-smoke has been created

<http://perl5.git.perl.org/perl.git/commitdiff/48af51dd98e661855e02c66ab027b39024401a85?hp=0000000000000000000000000000000000000000>

        at  48af51dd98e661855e02c66ab027b39024401a85 (commit)

- Log -----------------------------------------------------------------
commit 48af51dd98e661855e02c66ab027b39024401a85
Author: Karl Williamson <[email protected]>
Date:   Thu Dec 22 18:36:33 2016 -0700

    Silence win32 compiler warning
    
    The function's parameter was not declared const in embed.fnc, but was in
    the function itself.

M       embed.fnc
M       proto.h

commit 131dabbdba371895165c55d3e9ba1094c871526f
Author: Karl Williamson <[email protected]>
Date:   Thu Dec 22 18:24:26 2016 -0700

    toke.c: Silence win32 compiler warning.

M       toke.c

commit a736b7dc406b83dc395ee909a411afb8ff73144e
Author: Karl Williamson <[email protected]>
Date:   Sat Dec 17 17:25:29 2016 -0700

    utf8.c Extract common code into macros
    
    The 3 case changing functions: to upper, lower, and title case are
    essentially identical except for what they call to actually do the
    change; those being different macros or functions.
    
    The fourth function, to fold, is identical to the other three for the
    first part of its code, but diverges at the end in order to handle some
    special cases.
    
    This commit replaces the first part of the bodies of these 4 functions
    by a common macro.  And it replaces the remainder of the first 3
    functions by another common macro.
    
    I'm not a fan of this kind of macro to use in generating code, but it
    seems the best way to keep these definitions in sync.  (It has to be a
    macro instead of a function because one of the parameters is a macro,
    which you can't pass to a function.  I suppose one could create
    functions that just calls their macro, and get around it that way, but
    it doesn't seem worth it.)
    
    This commit just moved the code to the macro, and I manually verified
    that there were no logic changes.
    
    1 of the passed-in functions requires one less argument (the final one)
    than the other 3.  I originally tried to do something with the C
    preprocessor to get around that, but it didn't work with the Win32
    version of the preprocessor, so I gave up and added a dummy parameter to
    the fourth function, which is static so that's ok to do.  Below, for the
    record is my original attempt:
    
        /* These two macros are used to make optional a parameter to the
         * passed-in function to the macros just above.  If the passed-in
         * function doesn't take the parameter, use PLACEHOLDER in the macro
         * call; otherwise surround the parameter by a PARAM() call */
        #define PARAM(parameter) ,parameter
        #define PLACEHOLDER    /* Something for the preprocessor to grab onto */
    
    And within the macro, it called the function like this:
    
        L1_func(*p, ustrp, lenp/*,*/ L1_func_extra_param)

M       embed.fnc
M       proto.h
M       utf8.c

commit 2a792d0f2567c99670d6da79230711594a8b3c35
Author: Karl Williamson <[email protected]>
Date:   Sun Dec 18 13:38:01 2016 -0700

    APItest/t/handy.t: Bring final special case into loop
    
    All the tests in this file are now in two loops, one for the isFOO()
    macros, and the other for the toFOO() macros.  Thus the main logic
    applies to all, and tests can be added or changed easily.

M       ext/XS-APItest/t/handy.t

commit 0df948a5dd59dc15345fe097cbc8b0084a64806b
Author: Karl Williamson <[email protected]>
Date:   Sun Dec 18 13:17:45 2016 -0700

    APItest/t/handy.t: White-space only
    
    Indent newly formed block

M       ext/XS-APItest/t/handy.t

commit 1bdedb85e6ba53d847b5846a42c8337bf1753743
Author: Karl Williamson <[email protected]>
Date:   Sun Dec 18 12:40:06 2016 -0700

    APItest/t/handy.t: Add more tests
    
    Macros with the '_uvchr' suffix were not being tested at all.  Instead,
    the undocumented backwards-compatibility-only macros with the suffixes
    _uni were being tested, but these might diverge, and the tests wouldn't
    find that.

M       ext/XS-APItest/APItest.xs
M       ext/XS-APItest/t/handy.t

commit 4a2f2e067c3a0f986fb8e0bf7a063023fbe2191f
Author: Karl Williamson <[email protected]>
Date:   Sun Dec 18 11:55:49 2016 -0700

    APItest/t/handy.t: Add more tests
    
    The macros like isALPHA() were not getting tested; instead the theory
    being that testing isALPHA_A() was good enough because they are #defined
    to be the same.  But that might change and the tests wouldn't uncover
    that.  And it turned out that some things wern't getting tested at all
    if there was no _A version of the macro, for example isALNUM().  This
    commit adds test for the version of the isFOO() macros with no suffix.

M       ext/XS-APItest/APItest.pm
M       ext/XS-APItest/APItest.xs
M       ext/XS-APItest/t/handy.t

commit 458f95654fda8c9a12bd00dc1900e3c2c0a25527
Author: Karl Williamson <[email protected]>
Date:   Sat Dec 17 19:43:28 2016 -0700

    APItest/t/handy.t: Use abbrev. char name in test names
    
    I got tired of seeing all these long character names fly by on my screen
    while testing, so this changes to use any official Unicode abbreviation
    when available.  It's kind of silly to do this in this test, but I might
    extract and improve this for more general use in tests of characters in
    the future.
    
    This also changes some imports so that the full module name need not
    always be specified.

M       ext/XS-APItest/t/handy.t

commit 2ffbf2352634ea2685c1a4c1303dd788e86cbcb1
Author: Karl Williamson <[email protected]>
Date:   Sat Dec 17 19:22:14 2016 -0700

    APItest/t/handy.t: White-space only
    
    indent newly formed block.

M       ext/XS-APItest/t/handy.t

commit 6d92fdb23c881a0b61982a2cbaf34cdece9a6fa6
Author: Karl Williamson <[email protected]>
Date:   Sat Dec 17 19:19:39 2016 -0700

    APItest/t/handy.t: Fold in another special case
    
    The previous commit revamped this .t to make most things
    part of a single loop.  This adds another thing that was outside it.

M       ext/XS-APItest/t/handy.t

commit fc41520bf1bb9b71f51369bb87967773cb5eff8d
Author: Karl Williamson <[email protected]>
Date:   Thu Dec 15 16:12:30 2016 -0700

    APItest/t/handy.t: Refactor for maintenance
    
    Over the years code has kept getting copied and modified slightly in
    each new place.  And a future commit would create still more.  This cuts
    down the number of slightly different versions to the minimum reasonably
    attainable.

M       ext/XS-APItest/t/handy.t

commit 9651c70d44f044c6422fd4577bad7bc674f15fcf
Author: Sawyer X <[email protected]>
Date:   Tue Dec 20 17:27:02 2016 +0100

    Pod typos

M       pod/perldelta.pod
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to