diff options
Diffstat (limited to 'perl.c')
-rw-r--r-- | perl.c | 38 |
1 files changed, 22 insertions, 16 deletions
@@ -1904,7 +1904,6 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit) #else sv_catpvs(opts_prog,"\"\\nCharacteristics of this binary (from libperl): \\n"); #endif - sv_catpvs(opts_prog," Source revision: " STRINGIFY(PERL_GIT_SHA1) "\\n"); sv_catpvs(opts_prog," Compile-time options: $_\\n\","); #if defined(LOCAL_PATCH_COUNT) @@ -1914,16 +1913,8 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit) "\" Locally applied patches:\\n\","); for (i = 1; i <= LOCAL_PATCH_COUNT; i++) { if (PL_localpatches[i]) -#ifdef X_PERL_PATCHNUM -/* this is ifdef'ed out, we would enable this if we want to transform - "DEVEL" registered patches into the git name */ - if (strEQ(PL_localpatches[i],"DEVEL")) - Perl_sv_catpvf(aTHX_ opts_prog,"q%c\t%s\n%c,", - 0, STRINGIFY(PERL_PATCHNUM), 0); - else -#endif - Perl_sv_catpvf(aTHX_ opts_prog,"q%c\t%s\n%c,", - 0, PL_localpatches[i], 0); + Perl_sv_catpvf(aTHX_ opts_prog,"q%c\t%s\n%c,", + 0, PL_localpatches[i], 0); } } #endif @@ -3315,11 +3306,29 @@ Perl_moreswitches(pTHX_ const char *s) if (!sv_derived_from(PL_patchlevel, "version")) upg_version(PL_patchlevel, TRUE); #if !defined(DGUX) - PerlIO_printf(PerlIO_stdout(), + { + SV* level= vstringify(PL_patchlevel); +#ifdef PERL_PATCHNUM + SV* num= newSVpvn(STRINGIFY(PERL_PATCHNUM),sizeof(STRINGIFY(PERL_PATCHNUM))-1); +#ifdef PERL_GIT_UNCOMMITTED_CHANGES + sv_catpvf(num,"%s","*"); +#endif + + if (sv_len(num)>=sv_len(level) && strnEQ(SvPV_nolen(num),SvPV_nolen(level),sv_len(level))) { + SvREFCNT_dec(level); + level= num; + } else { + sv_catpvf(level, " (%s)",SvPV_nolen(num)); + SvREFCNT_dec(num); + } + #endif + PerlIO_printf(PerlIO_stdout(), "\nThis is perl, %"SVf " built for %s", - SVfARG(vstringify(PL_patchlevel)), + level, ARCHNAME); + SvREFCNT_dec(level); + } #else /* DGUX */ /* Adjust verbose output as in the perl that ships with the DG/UX OS from EMC */ PerlIO_printf(PerlIO_stdout(), @@ -3332,9 +3341,6 @@ Perl_moreswitches(pTHX_ const char *s) Perl_form(aTHX_ " OS Specific Release: %s\n", OSVERS)); #endif /* !DGUX */ -#if defined PERL_PATCHNUM - PerlIO_printf(PerlIO_stdout(),"\nCompiled from: %s",STRINGIFY(PERL_PATCHNUM)); -#endif #if defined(LOCAL_PATCH_COUNT) if (LOCAL_PATCH_COUNT > 0) PerlIO_printf(PerlIO_stdout(), |