revert POP{SUB,LOOP}{1,2} logic to the simpler pre-5.003_24
[p5sagit/p5-mst-13.2.git] / proto.h
diff --git a/proto.h b/proto.h
index 5584aa4..2f68d9b 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -56,6 +56,7 @@ VIRTUAL void  Perl_croak_nocontext(const char* pat, ...) __attribute__((noreturn)
 VIRTUAL OP*    Perl_die_nocontext(const char* pat, ...);
 VIRTUAL void   Perl_deb_nocontext(const char* pat, ...);
 VIRTUAL char*  Perl_form_nocontext(const char* pat, ...);
+VIRTUAL SV*    Perl_mess_nocontext(const char* pat, ...);
 VIRTUAL void   Perl_warn_nocontext(const char* pat, ...);
 VIRTUAL void   Perl_warner_nocontext(U32 err, const char* pat, ...);
 VIRTUAL SV*    Perl_newSVpvf_nocontext(const char* pat, ...);
@@ -322,7 +323,9 @@ VIRTUAL void        Perl_markstack_grow(pTHX);
 #if defined(USE_LOCALE_COLLATE)
 VIRTUAL char*  Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
 #endif
-VIRTUAL SV*    Perl_mess(pTHX_ const char* pat, va_list* args);
+VIRTUAL SV*    Perl_mess(pTHX_ const char* pat, ...);
+VIRTUAL SV*    Perl_vmess(pTHX_ const char* pat, va_list* args);
+VIRTUAL void   Perl_qerror(pTHX_ SV* err);
 VIRTUAL int    Perl_mg_clear(pTHX_ SV* sv);
 VIRTUAL int    Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
 VIRTUAL MAGIC* Perl_mg_find(pTHX_ SV* sv, int type);
@@ -630,8 +633,8 @@ VIRTUAL void        Perl_sv_unref(pTHX_ SV* sv);
 VIRTUAL void   Perl_sv_untaint(pTHX_ SV* sv);
 VIRTUAL bool   Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
 VIRTUAL void   Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
-VIRTUAL void   Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
-VIRTUAL void   Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
+VIRTUAL void   Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted);
+VIRTUAL void   Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted);
 VIRTUAL SV*    Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
 VIRTUAL UV     Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr);
 VIRTUAL void   Perl_taint_env(pTHX);
@@ -729,6 +732,11 @@ VIRTUAL void       Perl_sv_force_normal(pTHX_ SV *sv);
 VIRTUAL void   Perl_tmps_grow(pTHX_ I32 n);
 VIRTUAL SV*    Perl_sv_rvweaken(pTHX_ SV *sv);
 VIRTUAL int    Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
+VIRTUAL OP*    Perl_newANONATTRSUB(pTHX_ I32 floor, OP *proto, OP *attrs, OP *block);
+VIRTUAL CV*    Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+VIRTUAL void   Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+VIRTUAL OP *   Perl_my_attrs(pTHX_ OP *o, OP *attrs);
+VIRTUAL void   Perl_boot_core_xsutils(pTHX);
 #if defined(PERL_OBJECT)
 protected:
 #endif
@@ -784,6 +792,9 @@ STATIC bool S_is_handle_constructor(pTHX_ OP *o, I32 argnum);
 STATIC char*   S_gv_ename(pTHX_ GV *gv);
 STATIC CV*     S_cv_clone2(pTHX_ CV *proto, CV *outside);
 STATIC bool    S_scalar_mod_type(pTHX_ OP *o, I32 type);
+STATIC OP *    S_my_kid(pTHX_ OP *o, OP *attrs);
+STATIC OP *    S_dup_attrlist(pTHX_ OP *o);
+STATIC void    S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs);
 #  if defined(PL_OP_SLAB_ALLOC)
 STATIC void*   S_Slab_Alloc(pTHX_ int m, size_t sz);
 #  endif
@@ -902,14 +913,38 @@ STATIC SV*        S_more_sv(pTHX);
 STATIC void    S_more_xiv(pTHX);
 STATIC void    S_more_xnv(pTHX);
 STATIC void    S_more_xpv(pTHX);
+STATIC void    S_more_xpviv(pTHX);
+STATIC void    S_more_xpvnv(pTHX);
+STATIC void    S_more_xpvcv(pTHX);
+STATIC void    S_more_xpvav(pTHX);
+STATIC void    S_more_xpvhv(pTHX);
+STATIC void    S_more_xpvmg(pTHX);
+STATIC void    S_more_xpvlv(pTHX);
+STATIC void    S_more_xpvbm(pTHX);
 STATIC void    S_more_xrv(pTHX);
 STATIC XPVIV*  S_new_xiv(pTHX);
 STATIC XPVNV*  S_new_xnv(pTHX);
 STATIC XPV*    S_new_xpv(pTHX);
+STATIC XPVIV*  S_new_xpviv(pTHX);
+STATIC XPVNV*  S_new_xpvnv(pTHX);
+STATIC XPVCV*  S_new_xpvcv(pTHX);
+STATIC XPVAV*  S_new_xpvav(pTHX);
+STATIC XPVHV*  S_new_xpvhv(pTHX);
+STATIC XPVMG*  S_new_xpvmg(pTHX);
+STATIC XPVLV*  S_new_xpvlv(pTHX);
+STATIC XPVBM*  S_new_xpvbm(pTHX);
 STATIC XRV*    S_new_xrv(pTHX);
 STATIC void    S_del_xiv(pTHX_ XPVIV* p);
 STATIC void    S_del_xnv(pTHX_ XPVNV* p);
 STATIC void    S_del_xpv(pTHX_ XPV* p);
+STATIC void    S_del_xpviv(pTHX_ XPVIV* p);
+STATIC void    S_del_xpvnv(pTHX_ XPVNV* p);
+STATIC void    S_del_xpvcv(pTHX_ XPVCV* p);
+STATIC void    S_del_xpvav(pTHX_ XPVAV* p);
+STATIC void    S_del_xpvhv(pTHX_ XPVHV* p);
+STATIC void    S_del_xpvmg(pTHX_ XPVMG* p);
+STATIC void    S_del_xpvlv(pTHX_ XPVLV* p);
+STATIC void    S_del_xpvbm(pTHX_ XPVBM* p);
 STATIC void    S_del_xrv(pTHX_ XRV* p);
 STATIC void    S_sv_unglob(pTHX_ SV* sv);
 STATIC void    S_not_a_number(pTHX_ SV *sv);
@@ -938,7 +973,7 @@ STATIC char*        S_scan_heredoc(pTHX_ char *s);
 STATIC char*   S_scan_ident(pTHX_ char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
 STATIC char*   S_scan_inputsymbol(pTHX_ char *start);
 STATIC char*   S_scan_pat(pTHX_ char *start, I32 type);
-STATIC char*   S_scan_str(pTHX_ char *start);
+STATIC char*   S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims);
 STATIC char*   S_scan_subst(pTHX_ char *start);
 STATIC char*   S_scan_trans(pTHX_ char *start);
 STATIC char*   S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);