Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error parsing regex set in perl 5.26.0 #16174

Closed
p5pRT opened this issue Sep 26, 2017 · 7 comments
Closed

Error parsing regex set in perl 5.26.0 #16174

p5pRT opened this issue Sep 26, 2017 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Sep 26, 2017

Migrated from rt.perl.org#132167 (status was 'resolved')

Searchable as RT132167$

@p5pRT
Copy link
Author

p5pRT commented Sep 26, 2017

From j.imrie1@virginmedia.com

Using Perl 5.26.0

The regex

qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b]))  ])/

Does not parse giving the error

Incomplete expression within '(?[ ])' in regex; marked by <-- HERE in
m/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) <-- HERE   ])/


Flags​:
    category=core
    severity=low


Site configuration information for perl 5.26.0​:

Configured by strawberry-perl at Sat Sep  2 16​:28​:54 2017.

Summary of my perl5 (revision 5 version 26 subversion 0) configuration​:

  Platform​:
    osname=MSWin32
    osvers=6.3
    archname=MSWin32-x64-multi-thread
    uname='Win32 strawberry-perl 5.26.0.2 #1 Sat Sep  2 16​:25​:32 2017 x64'
    config_args='undef'
    hint=recommended
    useposix=true
    d_sigaction=undef
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=undef
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler​:
    cc='gcc'
    ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE
-D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing
-mms-bitfields'
    optimize='-s -O2'
    cppflags='-DWIN32'
    ccversion=''
    gccversion='7.1.0'
    gccosandvers=''
    intsize=4
    longsize=4
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='long long'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries​:
    ld='g++'
    ldflags ='-s -L"D​:\Strawberry\perl\lib\CORE" -L"D​:\Strawberry\c\lib"'
    libpth=D​:\Strawberry\c\lib D​:\Strawberry\c\x86_64-w64-mingw32\lib
D​:\Strawberry\c\lib\gcc\x86_64-w64-mingw32\7.1.0
    libs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr
-lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
    perllibs= -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
-lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
    libc=
    so=dll
    useshrplib=true
    libperl=libperl526.a
    gnulibc_version=''
  Dynamic Linking​:
    dlsrc=dl_win32.xs
    dlext=xs.dll
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags=' '
    lddlflags='-mdll -s -L"D​:\Strawberry\perl\lib\CORE"
-L"D​:\Strawberry\c\lib"'


@​INC for perl 5.26.0​:
    D​:/Strawberry/perl/site/lib
    D​:/Strawberry/perl/vendor/lib
    D​:/Strawberry/perl/lib


Environment for perl 5.26.0​:
    HOME (unset)
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=C​:\Program Files\Java\jre1.8.0_144\bin;C​:\Program
Files\Java\jre1.8.0_131\bin;C​:\ProgramData\Oracle\Java\javapath;C​:\Program
Files (x86)\Intel\iCLS Client\;C​:\Program Files\Intel\iCLS
Client\;C​:\windows\system32;C​:\windows;C​:\windows\System32\Wbem;C​:\windows\System32\WindowsPowerShell\v1.0\;C​:\Program
Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C​:\Program
Files\Intel\Intel(R) Management Engine Components\DAL;C​:\Program Files
(x86)\Intel\Intel(R) Management Engine Components\IPT;C​:\Program
Files\Intel\Intel(R) Management Engine Components\IPT;C​:\Program Files
(x86)\NVIDIA
Corporation\PhysX\Common;C​:\WINDOWS\system32;C​:\WINDOWS;C​:\WINDOWS\System32\Wbem;C​:\WINDOWS\System32\WindowsPowerShell\v1.0\;C​:\Program
Files
(x86)\GtkSharp\2.12\bin;D​:\Strawberry\c\bin;D​:\Strawberry\perl\site\bin;D​:\Strawberry\perl\bin;C​:\Users\John\AppData\Local\Microsoft\WindowsApps;
    PERL_BADLANG (unset)
    SHELL (unset)

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2017

From @jkeenan

On Tue, 26 Sep 2017 10​:19​:07 GMT, j.imrie1@​virginmedia.com wrote​:

Using Perl 5.26.0

The regex

qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b]))  ])/

Does not parse giving the error

Incomplete expression within '(?[ ])' in regex; marked by <-- HERE in
m/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) <-- HERE   ])/

This formulation of the bisect runner​:

#####
perl Porting/bisect.pl --start=v5.24.0 --end=v5.26.0 -e '$pattern=qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ])/;'
#####

... pointed to the following commit. Note the warning about the regex_sets feature being experimental.

#####
The regex_sets feature is experimental in regex; marked by <-- HERE in m/(?[ <-- HERE ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ])/ at -e line 1.
HEAD is now at 2cb86ab regcomp.c​: Typo, spacing in comment
good - zero exit from ./perl -Ilib -e $pattern=qr/(?[ ( \p{Uppercase} ) + (\p{Lowercase} - ([a] + [b])) ])/;
c333712 is the first bad commit
commit c333712
Author​: Karl Williamson <khw@​cpan.org>
Date​: Wed Aug 31 17​:05​:45 2016 -0600

  PATCH​: [perl #129122] regex sets syntax error
 
  This was caused by two statements being in the wrong order. One should
  save something on the stack before changing it, not after.
 
  However fixing this led to the discovery of another bug in which an
  error case was failed to be detected.

:100644 100644 630cf2602d72e60cb7c297b468a13df45b5d5c26 e7e41ff2f5b5a99d4f3724b970607cb9bd571dfc M regcomp.c
:040000 040000 7a74755f9e6b4b7f83a46d9d8a4b1cca2e4a0365 8d8933e3fa9a6d4f09e5a010b7f30ed7d227ca38 M t
bisect run success
That took 1239 seconds.
#####

Thank you very much.
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Sep 27, 2017

The RT System itself - Status changed from 'new' to 'open'

@p5pRT
Copy link
Author

p5pRT commented Apr 3, 2018

From @khwilliamson

Thanks for the report. Fixed by
8121278
--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Apr 3, 2018

@khwilliamson - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

p5pRT commented Jun 23, 2018

From @khwilliamson

Thank you for filing this report. You have helped make Perl better.

With the release yesterday of Perl 5.28.0, this and 185 other issues have been
resolved.

Perl 5.28.0 may be downloaded via​:
https://metacpan.org/release/XSAWYERX/perl-5.28.0

If you find that the problem persists, feel free to reopen this ticket.

@p5pRT
Copy link
Author

p5pRT commented Jun 23, 2018

@khwilliamson - Status changed from 'pending release' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant