In perl.git, the branch smoke-me/khw-invlist has been created
<http://perl5.git.perl.org/perl.git/commitdiff/fd857a5ed1230907852b23e814f9cb44166cac65?hp=0000000000000000000000000000000000000000>
at fd857a5ed1230907852b23e814f9cb44166cac65 (commit)
- Log -----------------------------------------------------------------
commit fd857a5ed1230907852b23e814f9cb44166cac65
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 10:33:07 2012 -0700
XXX core_name
M embed.fnc
M embed.h
M lib/unicore/mktables
M lib/utf8_heavy.pl
M proto.h
M regcomp.c
M utf8.c
commit af90c1555e90594106777d0bc92445c96fa82497
Author: Karl Williamson <[email protected]>
Date: Fri Dec 7 11:50:25 2012 -0700
regexec.c: Replace infamous if-else-if sequence by loop
This saves 1.5 KB in the text section on my machine in regexec.o
(unoptimized) and 820 optimized. I did not benchmark, as we don't
really care very much about performance under 'use locale'.
M embed.fnc
M embed.h
M proto.h
M regexec.c
commit 49800cd6970f796d895d87421984cf8defcd6ba3
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 22:42:18 2012 -0700
Silence some g++ compiler warnings
Changing these slightly got rid of the warnings like:
toke.c:9168: warning: format not a string literal and no format arguments
M doio.c
M pp.c
M pp_ctl.c
M toke.c
commit 7932f85fa714803608dfb65c6d37340e955a3ba2
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 22:15:52 2012 -0700
Change 4 byte bitmap to 32 bit single word
I presume that the reason this bitmap was expressed in bytes was that
the macros for dealing with that were already readily available and
familiar, and because it could easily be grown.
However, it's extremely unlikely that we would ever need more bits.
This bit map is for the Posix character classes, and no one is making
more of them. There is currently one spare bit available, and if we
don't back out of the \s and [:space:] unification, a second will become
available in 5.20 or 5.22.
Using a single word is more efficient, so this changes to use that.
Should we ever need more bits, we can change back.
M regcomp.c
M regcomp.h
commit 3bcc39c66fc6a684c7568719905e65385deaf8db
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 21:41:23 2012 -0700
Deprecate some functions in utf8.c
These functions are not used by the Perl core. Code should be using
the equivalent macros in handy.h that may avoid a function call.
M embed.fnc
M proto.h
M utf8.c
commit 06ccdf3ee8a281ea8c6ec1072e91a5d38ba6a7fb
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 21:01:29 2012 -0700
handy.h: Add an enum typedef
This creates a copy of all the Posix character class numbers and puts
them in an enum. This enum is for internal Perl core use only, and is
used so hopefully compilers can generate better code from future commits
that will make use of it.
M handy.h
commit 7e386e6533e4c3a1696abbb5b97b443e6ee8c4a1
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 20:48:29 2012 -0700
handy.h: Reorder char class #defines
This groups the classes in two groups, one which contains those classes
whose above-Latin1 lookups are done via swashes; the other which aren't.
This will prove useful in future commits.
M handy.h
M regcomp.c
commit 223fc316e233032f3c523144c38da9d4b25933a1
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 20:35:03 2012 -0700
regcomp.h: Revise #define setup and checking
This revises how these #defines are set up so that the order can change
(as will be done in a later commit), and the only dependencies are on
VERTWS and the max one from handy.h.
M regcomp.h
commit 2e64ced42e180a9b568936404d196ff652e72396
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 19:20:22 2012 -0700
locale.t: Add test
This makes sure that taint isn't being added unnecessarily
M lib/locale.t
commit fd2d2fdf70b5c0f2704d4573a00e732b09a287c5
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 19:19:13 2012 -0700
locale.t: Add optional test name supplement
This allows tests to have extra stuff passed in that will be printed as
part of the test results
M lib/locale.t
commit 9d81d63919eadf7485ad445fb660c709fb7aaef0
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 19:09:26 2012 -0700
handy.h: Add comment
M handy.h
commit 237b1ad7c0322b3711336e9a33ea7826bbc20510
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 19:07:41 2012 -0700
regcomp.c: Typo in comment; white space
M regcomp.c
commit bb07c4770be218aad54d4d1d1b6d371b70c46a1a
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 18:49:14 2012 -0700
handy.h: Improve isDIGIT_utf8() and isXDIGIT_utf8() macros
There are no digits in the upper Latin1 range, therefore we can skip
testing for such.
M handy.h
commit daf3fb4e40984c52c23f45bfe646387287403830
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 11:31:19 2012 -0700
pp.c pp_pack.c: Use macro instead of function
This converts to use is_SPACE_utf8() instead of the (soon to be
deprecated) is_utf8_space(). The macro is faster, avoiding the function
call completely, so the performance need to make a special case for a SPACE
character is gone.
M pp.c
M pp_pack.c
commit bd82015dfdac2a25ae2b7c8b9fb220af6c3e623b
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 10:14:38 2012 -0700
regexec.c: White space only; no code changes
This entire function was indented by 8 instead of the standard 4
columns. I'm about to make significant changes to it, and would like
the extra 4 columns.
M regexec.c
commit 407b49a22f7e9e320d3b6f41bd3eb8bf9118f924
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 09:20:51 2012 -0700
regcomp.c:regprop: [bracketize] \w..., add \v
This function returns the name of a character class given its number.
This changes the name of \w, \s, \d to be [\w] .... And it adds an
entry for \v and \V. These makes a complete set, and will make things
easier to read, as a result of changes coming in future commits
M regcomp.c
commit 7da60163b3cf84c7052db5769a55d5b76205b115
Author: Karl Williamson <[email protected]>
Date: Thu Dec 6 09:10:41 2012 -0700
utf8.c: Add locale support to functions
These functions were marked as XXX to add locale support. It was a
simple matter to do. We support locales for code points under 256,
so just call the appropriate macro for those, returning the Unicode
interpretation for those over 255.
M utf8.c
commit 744c59d8a068505fe0fbea7daa987997dc914d3d
Author: Karl Williamson <[email protected]>
Date: Wed Dec 5 21:53:06 2012 -0700
regexec.c: Nits coding standards-type changing
M regexec.c
commit c76a5279eba4294f4582b4c8ba630496f2f73d63
Author: Karl Williamson <[email protected]>
Date: Wed Dec 5 21:39:21 2012 -0700
perl.h: Add comment
M perl.h
commit e0c5a80212da87a60380e3a66f85388d79a12729
Author: Karl Williamson <[email protected]>
Date: Wed Dec 5 21:37:26 2012 -0700
perlrecharclass: Fix defn of [:word:]
M pod/perlrecharclass.pod
commit c5c3e88da59f757f7ef215561c7b77fccec4749d
Author: Karl Williamson <[email protected]>
Date: Mon Dec 3 16:57:05 2012 -0700
handy.h: Change documentation for perlapi
This documents several more of the character classification macros,
including all variants of them. There are no code changes.
The READ_XDIGIT macro was moved to "Miscellaneous Functions", as it
really isn't character classification.
Several of the macros remain undocumented because I'm not comfortable
yet about their names/and or functionality.
M handy.h
commit 19ffe703818382255b3488eabe0b488abf2fb780
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 23:09:57 2012 -0700
perlapi: Remove a bunch of functions from API
These functions are undocumented. We add a flag in embed.fnc to stop
them from being listed as undocumented functions suitable for
documenting. They should not be used explicitly, but exist only to aid
macros in handy.h that need functions to handle portions of their
functionality. Thus the handy.h macros should be used; not these.
M embed.fnc
commit 7a3dae8a9f0254f6849689e9574688efe6bd1ebd
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 22:33:49 2012 -0700
handy.h: Sort macros in groups alphabetically
This should make it easier to find things. No code changes, but there
are some comment changes
M handy.h
commit 722a7d99b2142fe6a49380a236018027d2310d5b
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 22:21:57 2012 -0700
handy.h: Make clear that macro is only true in ASCII range
I don't believe there are platforms that this is wrong on, but using the
_A suffix clearly indicates that only ASCII-range characters can match
this, like its cohort macros that surround it.
M handy.h
commit 7223db56cf53958c91eab6778a0e361873899124
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 22:17:27 2012 -0700
handy.h: Fix isBLANK_LC_uni()
This macro can be defined in terms of the foo_uvchr() version. It
should be correct on platforms that have an isblank() function in the C
library. I don't know why this macro exists. It doesn't correspond to
any of the other ones (though a recent commit removed one it did
correspond to, but which can't have been in use because it expanded to a
non-existent function). I'm leaving it in just for back compat. I did
not add tests for this macro.
M handy.h
commit 63100fd814c0943de43c316f642260d2febb780f
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 22:14:07 2012 -0700
embed.fnc: Note that 'A' functions not necessarily public API
An 'M' in a function entry means that undocumented functions are
suppressed from perlapi.pod. Change the comments in embed.fnc to
indicate that, and the text in perlapi to warn against using unlisted
functions.
M autodoc.pl
M embed.fnc
commit 68e4178faf777168d6cf6d48dfd42e6c8f8272dd
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 22:08:33 2012 -0700
ext/XS-APItest/t/handy.t: White space only
Indent a newly formed block
M ext/XS-APItest/t/handy.t
commit 78daf46dceecf39aec028cd2c0838845fd692e40
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 22:06:31 2012 -0700
handy.h: White space only
This makes things line up in columns and not exceed 80 columns in width.
M handy.h
commit 9be2c56add17334c0ddc3945a124b9d98b986ced
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 21:34:41 2012 -0700
XS-APItest: Add tests for handy.h
This adds missing tests for the locale versions of the macros in
handy.h, plus some to make sure that WORDCHAR and ALNUM are synonyms
M ext/XS-APItest/APItest.pm
M ext/XS-APItest/APItest.xs
M ext/XS-APItest/t/handy.t
commit d933af92e3ee763e717eebc777d78072d96f843b
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 21:55:16 2012 -0700
utf8.c: Change is_uni_idfirst_lc() to use Perl's defn
The Perl definition is slightly more restrictive of what Unicode's
idfirst is. We should use our definition consistently.
M utf8.c
commit a8bf640ef84ef8c8a79ddc6564a9e50ea01a7845
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 21:46:50 2012 -0700
handy.h: Fix up Posix Space macros
Under the default Posix locale, \s and [[:space:]] are the same, so
there is no need to try to make sure that [[:space:]] matches a vertical
tab -- it already does. Also one of the macros had a typo, trying to
add a form feed instead of a vertical tab
M handy.h
commit afe910586891034d42e54f23dd5bb419bfeda65b
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 21:01:12 2012 -0700
Add functions for getting ctype ALNUMC
We think this is meant to stand for C's alphanumeric, that is what is
matched by POSIX [:alnum:]. There were not functions and a dedicated
swash available for accessing it. Future commits will want to use
these.
M embed.fnc
M embed.h
M embedvar.h
M handy.h
M intrpvar.h
M proto.h
M sv.c
M utf8.c
commit 70caad1c93d615866bcca03cabf93ee22ac07ddd
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 20:48:20 2012 -0700
handy.h: Add some missing macros
Not all character classifications had macros. This commit adds all but
one of the missing ones. It will be added in a separate commit.
M handy.h
commit ff6888df7ab4b472a9c11abc55f3cdb2306b536d
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 20:42:06 2012 -0700
handy.h: Add synonym for some macros
For some time, WORDCHAR has been preferred to ALNUM because of the
nearly identical ALNUMC which means something else (the C language
definition of alnum). This adds macros for WORDCHAR, while retaining
ALNUM for backwards compatibility.
Also, another macro is redefined using WORDCHAR in preference to ALNUM
M handy.h
commit 2fb8e78d97e72eed6430ae8173941f58c77e7162
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 20:09:46 2012 -0700
handy.h: Make some macros more time efficient
These macros check if a UTF-8 encoded character is of particular types
for use with locales. Prior to this patch, they called a function to
convert the character to a code point value. This was used as input to
another macro that handles code points. For values above the Latin1
range, that macro calls a function, which converts back to UTF-8 and
calls another function.
This commit changes that to call the UTF-8 function directly for
above-Latin1 code points. No conversion need be done. For Latin1 code
points, it converts, if necessary, to the code point and calls a macro
that handles these directly.
Some of these macros now use a macro instead of a function call for
above-Latin1 code points, as is done in various other places in this
file.
M handy.h
commit 543b8116182f6ee758876f6e4eca383f66091f33
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 20:02:03 2012 -0700
handy.h: Avoid function calls in 2 macros
There is a macro that returns the same as the function call previously
used in the SPACE macro; and nothing above Latin1 can possibly match the
CNTRL macro
M handy.h
commit 4e275696f0288124430452067f26934db93bdf9b
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 19:57:12 2012 -0700
handy.h: Define some macros using a base macro
This allows the common parts of the definitions of these to all use the
same logic
M handy.h
commit 13292749c8ac98f735f93d316db26c5a9c973faf
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 19:41:11 2012 -0700
handy.h: Define some locale macros for all inputs
Prior to this commit, if you called these macros with something outside
the Latin1 range, the return value was not defined, subject to the whims
of your particular C compiler and library. This commit causes all the
boolean macros to return FALSE for non-Latin1 inputs; and all the map
macros to return their inputs
M handy.h
commit 72f139d46ca07672115a5e92707febd310797625
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 19:18:34 2012 -0700
intrpvar.h: Add comment
M intrpvar.h
commit ef1e838db0d894e5371487278fe199020b7724c1
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 18:50:44 2012 -0700
Add Todo test for Perl #114272
M t/re/re_tests
commit c5d7309a082866e6cdba1fc2fb69aa4b32048dc4
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 18:48:33 2012 -0700
utf8.c: Combine 2 function calls into one
There is a function that does both these together, more efficiently
M utf8.c
commit f4b156e4249c67f54913fd08d82a0da39205d11e
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 18:47:23 2012 -0700
utf8.c: Move ARGS_ASSERT to earlier in function
to a place where people more expect to see it.
M utf8.c
commit a67ae20e3bd0721cb013efa4efa93c65dc336457
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 12:17:16 2012 -0700
handy.h: Remove unused macro
This macro expands to a function or macro call that does not exist, so
this macro itself can't be being used by anyone. It also doesn't fit
the paradigm of the other macros above it, being defined in terms of
uni instead of uvchr; nor does it really gain anything, since \s is a
posix space under locale. The \f also appears to be a typo, based on
the commit message, it should have been \v.
M handy.h
commit 86d442087bc643125db026e4033f39895ab30d6f
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 12:13:36 2012 -0700
handy.h: Change EBCDIC isSPACE() to include \v
This was missed in commit 075b9d7d9a6d4473b240a047655e507c8baa6db3
M handy.h
commit 9f13b9490a96e4ff9d2ac96abcdab1b41e84baec
Author: Karl Williamson <[email protected]>
Date: Sun Dec 2 21:20:36 2012 -0700
embed.fnc: Add missing entry
This function is defined in utf8.c, but isn't called by the core, and
there was no entry for it in embed.fnc
M embed.fnc
M embed.h
M proto.h
-----------------------------------------------------------------------
--
Perl5 Master Repository