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
Blead Breaks CPAN: GRAY/POSIX-RT-Spawn-0.11.tar.gz #16390
Comments
From @eserteThis is a bug report for perl from slaven@rezic.de, POSIX-RT-Spawn-0.11 does not compile anymore with 5.27.7 and 5.27.8 A sample build report: It seems that PL_Argv and PL_Cmd are not available anymore, but I did Flags: Site configuration information for perl 5.27.8: Configured by eserte at Sat Jan 20 09:22:10 CET 2018. Summary of my perl5 (revision 5 version 27 subversion 8) configuration: @INC for perl 5.27.8: Environment for perl 5.27.8: |
From zefram@fysh.orgslaven@rezic.de wrote:
Removed in commit 282fc0b. They weren't POSIX-RT-Spawn has no more need for these globals than the core did. -zefram |
The RT System itself - Status changed from 'new' to 'open' |
From @LeontOn Sun, Jan 28, 2018 at 2:17 PM, Zefram <zefram@fysh.org> wrote:
We currently have 323 interpreter variables and AFAIK more than a I would hope we intend to support more than that. Leon |
From @LeontOn Tue, Jan 30, 2018 at 11:00 PM, Leon Timmermans <fawaka@gmail.com> wrote:
Actually my regex was wrong, only 14 are defined (the others were only Leon |
From @iabynOn Sun, Feb 04, 2018 at 11:57:57AM +0100, Leon Timmermans wrote:
Do you have any opinion as to whether more interpeter and globals vars Anyway, since there hasn't been any other reported breakage from -- |
From @LeontOn Fri, Apr 20, 2018 at 10:19 AM, Dave Mitchell <davem@iabyn.com> wrote:
I can't think of any reason not to make PL_curstash API, it's both I can think of a few others (e.g. PL_defstash), but those three are Leon |
From @eserteDana Sun, 28 Jan 2018 02:01:09 -0800, slaven@rezic.de reče:
|
From @tonycozOn Wed, 02 May 2018 00:09:20 -0700, LeonT wrote:
Done as separate patches to directly connect the reasoning for each Attached as one file to avoid anyone having to deal with seven separate Tony |
From @tonycoz132777-document-some-intrpvars.patchFrom 330fc8b194d27f19653af150c808f0a752d4d964 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 13:37:44 +1100
Subject: (perl #132777) document PL_exit_flags
PL_exit_flags is referred to in perlembed, perldiag and two
perldeltas, so APIify and document it.
---
intrpvar.h | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/intrpvar.h b/intrpvar.h
index fad1eaafbb..c96b6b18ac 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -257,6 +257,37 @@ PERLVAR(I, efloatsize, STRLEN)
PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
indentation level */
+/*
+=for apidoc Amn|U8|PL_exit_flags
+
+Contains flags controlling perl's behaviour on exit():
+
+=over
+
+=item * C<PERL_EXIT_DESTRUCT_END>
+
+If set, END blocks are executed when the interpreter is destroyed.
+This is normally set by perl itself after the interpreter is
+constructed.
+
+=item * C<PERL_EXIT_ABORT>
+
+Call C<abort()> on exit. This is used internally by perl itself to
+abort if exit is called while processing exit.
+
+=item * C<PERL_EXIT_WARN>
+
+Warn on exit.
+
+=item * C<PERL_EXIT_EXPECTED>
+
+Set by the L<perlfunc/exit> operator.
+
+=back
+
+=cut
+*/
+
PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
PERLVAR(I, utf8locale, bool) /* utf8 locale detected */
--
2.11.0
From bc9d47338a4c65934c099b1c7a001951089f882e Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 14:04:52 +1100
Subject: (perl #132777) document and add PL_curcop to the API
PL_curcop is used fairly widely on CPAN, mostly to get the current
line number and file, to check lexical hints, or to check the
stash.
---
intrpvar.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/intrpvar.h b/intrpvar.h
index c96b6b18ac..c585d7af0a 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -122,6 +122,15 @@ PERLVARI(I, utf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */
PERLVAR(I, defstash, HV *) /* main symbol table */
PERLVAR(I, curstash, HV *) /* symbol table for current package */
+/*
+=for apidoc Amn|COP*|PL_curcop
+
+The currently active COP (control op) roughly representing the current
+statement in the source.
+
+=cut
+*/
+
PERLVAR(I, curcop, COP *)
PERLVAR(I, curstack, AV *) /* THE STACK */
PERLVAR(I, curstackinfo, PERL_SI *) /* current stack + context */
--
2.11.0
From 104d04c647308b8de2aa1847f06ff0bdf32ce31a Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 14:35:52 +1100
Subject: (perl #132777) APIify and document PL_curstash
per leont: I can't think of any reason not to make PL_curstash API,
it's both common, useful, simple, and highly unlikely to ever need
change.
---
intrpvar.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/intrpvar.h b/intrpvar.h
index c585d7af0a..edececc4cf 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -117,6 +117,13 @@ PERLVAR(I, dowarn, U8)
PERLVARI(I, utf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */
#undef PERL___I
+/*
+=for apidoc Amn|HV*|PL_curstash
+
+The stash for the package code will be compiled into.
+
+=cut
+*/
/* Stashes */
PERLVAR(I, defstash, HV *) /* main symbol table */
--
2.11.0
From 74789673fac08098b107bab7410818b4b7fe6b98 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 14:52:14 +1100
Subject: (perl #132777) document and APIify PL_defgv
This is used occasionally on CPAN, typically to access $_.
---
intrpvar.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/intrpvar.h b/intrpvar.h
index edececc4cf..2fb3042578 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -93,6 +93,14 @@ PERLVARI(I, tainted, bool, FALSE) /* using variables controlled by $< */
*/
PERLVAR(I, delaymagic, U16) /* ($<,$>) = ... */
+/*
+=for apidoc Amn|GV *|PL_defgv
+
+The GV representing C<*_>. Useful for access to C<$_>.
+
+=cut
+*/
+
PERLVAR(I, localizing, U8) /* are we processing a local() list? */
PERLVAR(I, in_eval, U8) /* trap "fatal" errors? */
PERLVAR(I, defgv, GV *) /* the *_ glob */
--
2.11.0
From 071c253d96806be6af1fc45a915aa2eafba1b666 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 15:06:41 +1100
Subject: (perl #132777) document and APIify PL_parser
Used in a few places on CPAN, either to check or modify the
compilation error count, or to do a little parsing via bufptr.
---
intrpvar.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/intrpvar.h b/intrpvar.h
index 2fb3042578..d2a54aca7d 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -206,6 +206,14 @@ PERLVAR(I, padname_undef, PADNAME)
PERLVAR(I, padname_const, PADNAME)
PERLVAR(I, Sv, SV *) /* used to hold temporary values */
+/*
+=for apidoc Amn|yy_parser*|PL_parser
+
+The parser state when compiling code.
+
+=cut
+*/
+
PERLVAR(I, parser, yy_parser *) /* current parser state */
PERLVAR(I, stashcache, HV *) /* Cache to speed up S_method_common */
--
2.11.0
From 0f043b183750070c40fdf65956e4fed8accaf77e Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 15:25:05 +1100
Subject: (perl #132777) document (sort of) and APIify PL_runops
This is documented in perlguts in such a way that it appears be
effectively API, so APIify it.
It's used on CPAN in a small number of modules.
---
intrpvar.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/intrpvar.h b/intrpvar.h
index d2a54aca7d..47a3f519fb 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -627,6 +627,14 @@ PERLVAR(I, debug, volatile U32) /* flags given to -D switch */
PERLVARI(I, padlist_generation, U32, 1) /* id to identify padlist clones */
+/*
+=for apidoc Amn|runops_proc_t|PL_runops
+
+See L<perlguts/Pluggable runops>.
+
+=cut
+*/
+
PERLVARI(I, runops, runops_proc_t, RUNOPS_DEFAULT)
PERLVAR(I, subname, SV *) /* name of current subroutine */
--
2.11.0
From 6cd68d72b70fcc90983e5e48eb1cbb8875f50129 Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Thu, 31 Jan 2019 15:39:39 +1100
Subject: (perl #132777) APIify and document PL_perl_destruct_level
This is documented in perlembed. It's only rarely used on CPAN
but it's pretty basic.
---
intrpvar.h | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/intrpvar.h b/intrpvar.h
index 47a3f519fb..6b42c6381f 100644
--- a/intrpvar.h
+++ b/intrpvar.h
@@ -689,8 +689,25 @@ PERLVARI(I, phase, enum perl_phase, PERL_PHASE_CONSTRUCT)
PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
-/* This value may be set when embedding for full cleanup */
-/* 0=none, 1=full, 2=full with checks */
+/*
+=for apidoc Amn|signed char|PL_perl_destruct_level
+
+This value may be set when embedding for full cleanup.
+
+Possible values:
+
+=over
+
+=item * 0=none
+
+=item * 1=full
+
+=item * 2=full with checks.
+
+=back
+
+=cut
+*/
/* mod_perl is special, and also assigns a meaning -1 */
PERLVARI(I, perl_destruct_level, signed char, 0)
--
2.11.0
|
From @jkeenanOn Thu, 31 Jan 2019 04:52:43 GMT, tonyc wrote:
Tony, can you provide an update as to the status of this ticket? Thank you very much. |
From @tonycozOn Sat, 13 Apr 2019 19:04:54 -0700, jkeenan wrote:
I've applied the patches (with some changes for PL_perl_destruct_level) as merge commit 4510b39. Tony |
From @jkeenanOn Thu, 08 Aug 2019 06:02:57 GMT, tonyc wrote:
This ticket was originally concerned with POSIX::RT::Spawn's failure to compile against what was then blead. It still does not compile against blead, presumably because it's .xs needs to be modified. How should we advise the author of POSIX::RT::Spawn (and perhaps other modules) to proceed? Thank you very much. -- |
From @tonycozOn Sun, 11 Aug 2019 11:56:50 -0700, jkeenan wrote:
They need to eliminate use of those variables, similar to the way core did. The minimal suggested change in the rt.cpan ticket is unsafe. Tony |
From @jkeenanOn Mon, 12 Aug 2019 00:08:50 GMT, tonyc wrote:
Okay, I noted that here: https://rt.cpan.org/Ticket/Display.html?id=125666#txn-1859636 -- |
The last update to any of the author's 51 CPAN distributions was a little over 3 years ago, and to this particular distribution was over 10 years ago. I don't see any change in perl being prompted by this ticket, so there's little value in keeping it as an open ticket here - I think we should close it. |
I concur. The maintainer has not responded to Slaven's suggestion of a patch to C-level code. Closing. |
Migrated from rt.perl.org#132777 (status was 'open')
Searchable as RT132777$
The text was updated successfully, but these errors were encountered: