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

perlre: (*COMMIT:arg) and (*ACCEPT:arg) should be documented #14937

Closed
p5pRT opened this issue Sep 25, 2015 · 7 comments
Closed

perlre: (*COMMIT:arg) and (*ACCEPT:arg) should be documented #14937

p5pRT opened this issue Sep 25, 2015 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Sep 25, 2015

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

Searchable as RT126186$

@p5pRT
Copy link
Author

p5pRT commented Sep 25, 2015

From victor@drawall.cc

Created by @Grimy

perlre​: (*COMMIT​:arg) and (*ACCEPT​:arg) should be documented

perl5.23.4 -e '/(*COMMIT​:blah)/; print $REGMARK'

prints "blah", which is the expected behavior. However, in perlre, (*COMMIT) is
listed under "Verbs without an argument". It should be moved to "Verbs that take
an argument", preferably close to the very similar (*PRUNE) and (*SKIP).

Alternatively, the code could be changed so that (*COMMIT​:arg) is an error, but
I believe changing the doc is better, since the current behavior is both useful
and consistent with (*PRUNE) and (*SKIP).

perl5.23.4 -e '/(*ACCEPT​:blah)/; print $REGMARK'

surprisingly prints "1". I see two possibilities of equal value​:

* Change the code so that $REGMARK is set correctly and move (*ACCEPT) in the
doc to "Verbs that take an argument".

* Change the code so that (*ACCEPT​:arg) is an error.

Perl Info

Flags:
    category=docs
    severity=low

Site configuration information for perl 5.23.4:

Configured by grimy at Tue Sep 22 21:18:14 CEST 2015.

Summary of my perl5 (revision 5 version 23 subversion 4) configuration:
  Commit id: 2d9b5f101563ac9fee41e6ca496f79db6222d2e3
  Platform:
    osname=linux, osvers=4.0.7-2-arch, archname=x86_64-linux
    uname='linux localhost 4.0.7-2-arch #1 smp preempt tue jun 30
07:50:21 utc 2015 x86_64 gnulinux '
    config_args='-ds -e -Dusedevel'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe
-fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fwrapv -fno-strict-aliasing -pipe
-fstack-protector-strong -I/usr/local/include'
    ccversion='', gccversion='5.1.0', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8,
byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib
/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include-fixed /usr/lib
/lib/../lib /usr/lib/../lib /lib /lib64 /usr/lib64
    libs=-lpthread -lnsl -lnm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
-lgdbm_compat
    perllibs=-lpthread -lnsl -lnm -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.21.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.21'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector-strong'



@INC for perl 5.23.4:
    /usr/local/lib/perl5/site_perl/5.23.4/x86_64-linux
    /usr/local/lib/perl5/site_perl/5.23.4
    /usr/local/lib/perl5/5.23.4/x86_64-linux
    /usr/local/lib/perl5/5.23.4
    /usr/local/lib/perl5/site_perl
    .


Environment for perl 5.23.4:
    HOME=/home/grimy
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/grimy/bin:/home/grimy/.nvim/scripts:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/plan9/bin
    PERL_BADLANG (unset)
    SHELL (unset)

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2015

From @demerphq

I will push a patch to fix this soon.

On 25 September 2015 at 19​:04, Victor ADAM <perlbug-followup@​perl.org> wrote​:

# New Ticket Created by Victor ADAM
# Please include the string​: [perl #126186]
# in the subject line of all future correspondence about this issue.
# <URL​: https://rt-archive.perl.org/perl5/Ticket/Display.html?id=126186 >

This is a bug report for perl from victor.adam@​derpymail.org,
generated with the help of perlbug 1.40 running under perl 5.23.4.

-----------------------------------------------------------------
[Please describe your issue here]

perlre​: (*COMMIT​:arg) and (*ACCEPT​:arg) should be documented

perl5.23.4 -e '/(*COMMIT​:blah)/; print $REGMARK'

prints "blah", which is the expected behavior. However, in perlre, (*COMMIT) is
listed under "Verbs without an argument". It should be moved to "Verbs that take
an argument", preferably close to the very similar (*PRUNE) and (*SKIP).

Alternatively, the code could be changed so that (*COMMIT​:arg) is an error, but
I believe changing the doc is better, since the current behavior is both useful
and consistent with (*PRUNE) and (*SKIP).

perl5.23.4 -e '/(*ACCEPT​:blah)/; print $REGMARK'

surprisingly prints "1". I see two possibilities of equal value​:

* Change the code so that $REGMARK is set correctly and move (*ACCEPT) in the
doc to "Verbs that take an argument".

* Change the code so that (*ACCEPT​:arg) is an error.

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags​:
category=docs
severity=low
---
Site configuration information for perl 5.23.4​:

Configured by grimy at Tue Sep 22 21​:18​:14 CEST 2015.

Summary of my perl5 (revision 5 version 23 subversion 4) configuration​:
Commit id​: 2d9b5f1
Platform​:
osname=linux, osvers=4.0.7-2-arch, archname=x86_64-linux
uname='linux localhost 4.0.7-2-arch #1 smp preempt tue jun 30
07​:50​:21 utc 2015 x86_64 gnulinux '
config_args='-ds -e -Dusedevel'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe
-fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fwrapv -fno-strict-aliasing -pipe
-fstack-protector-strong -I/usr/local/include'
ccversion='', gccversion='5.1.0', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8,
byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries​:
ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib
/usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include-fixed /usr/lib
/lib/../lib /usr/lib/../lib /lib /lib64 /usr/lib64
libs=-lpthread -lnsl -lnm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
-lgdbm_compat
perllibs=-lpthread -lnsl -lnm -ldl -lm -lcrypt -lutil -lc
libc=libc-2.21.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.21'
Dynamic Linking​:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector-strong'

---
@​INC for perl 5.23.4​:
/usr/local/lib/perl5/site_perl/5.23.4/x86_64-linux
/usr/local/lib/perl5/site_perl/5.23.4
/usr/local/lib/perl5/5.23.4/x86_64-linux
/usr/local/lib/perl5/5.23.4
/usr/local/lib/perl5/site_perl
.

---
Environment for perl 5.23.4​:
HOME=/home/grimy
LANG=en_US.UTF-8
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/home/grimy/bin​:/home/grimy/.nvim/scripts​:/usr/local/sbin​:/usr/local/bin​:/usr/bin​:/usr/lib/jvm/default/bin​:/usr/bin/site_perl​:/usr/bin/vendor_perl​:/usr/bin/core_perl​:/opt/plan9/bin
PERL_BADLANG (unset)
SHELL (unset)

--
perl -Mre=debug -e "/just|another|perl|hacker/"

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2015

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

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2015

From @demerphq

I think this is resolved by fee5058

Thanks for the report!

@p5pRT p5pRT closed this as completed Oct 5, 2015
@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2015

@demerphq - Status changed from 'open' to 'resolved'

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2015

From victor@drawall.cc

I can confirm that this solves my issue. I also like that even (*FAIL)
takes an argument now, for extra consistency. Thank you!

@p5pRT
Copy link
Author

p5pRT commented Oct 6, 2015

From @demerphq

You are welcome, thanks for the report!

On 5 October 2015 at 22​:55, Victor ADAM <victor@​drawall.cc> wrote​:

I can confirm that this solves my issue. I also like that even (*FAIL)
takes an argument now, for extra consistency. Thank you!

--
perl -Mre=debug -e "/just|another|perl|hacker/"

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

No branches or pull requests

1 participant