From 217e3b45ffad2fc9932e28fc5ebf543bc8759308 Mon Sep 17 00:00:00 2001
From: tnut <thierryn1 at hispeed dot ch>
Date: Fri, 22 Oct 2010 21:39:30 +0200
Subject: perl, port nettoyé
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 base/perl/perl-5.10.0-debian-23.patch | 3239 ---------------------------------
 1 file changed, 3239 deletions(-)
 delete mode 100644 base/perl/perl-5.10.0-debian-23.patch

(limited to 'base')

diff --git a/base/perl/perl-5.10.0-debian-23.patch b/base/perl/perl-5.10.0-debian-23.patch
deleted file mode 100644
index 85f84a440..000000000
--- a/base/perl/perl-5.10.0-debian-23.patch
+++ /dev/null
@@ -1,3239 +0,0 @@
-This patch is from Debian:
-
-http://patch-tracking.debian.net/patch/nondebian/dl/perl/5.10.0-23
-
-We are omitting a few Debian-specific bits here
-
---- perl-5.10.0.orig/perl.c
-+++ perl-5.10.0/perl.c
-@@ -1364,10 +1364,17 @@
- 	 */
- 	const char * const s = PerlEnv_getenv("PERL_DESTRUCT_LEVEL");
- 	if (!s || atoi(s) == 0) {
-+	    const U32 old_debug = PL_debug;
- 	    /* Emulate the PerlHost behaviour of free()ing all memory allocated in this
- 	       thread at thread exit.  */
-+	    if (DEBUG_m_TEST) {
-+		PerlIO_puts(Perl_debug_log, "Disabling memory debugging as we "
-+			    "free this thread's memory\n");
-+		PL_debug &= ~ DEBUG_m_FLAG;
-+	    }
- 	    while(aTHXx->Imemory_debug_header.next != &(aTHXx->Imemory_debug_header))
- 		safesysfree(sTHX + (char *)(aTHXx->Imemory_debug_header.next));
-+	    PL_debug = old_debug;
- 	}
-     }
- #endif
---- perl-5.10.0.orig/embed.fnc
-+++ perl-5.10.0/embed.fnc
-@@ -140,7 +140,7 @@
- Afnp	|OP*	|die_nocontext	|NN const char* pat|...
- Afnp	|void	|deb_nocontext	|NN const char* pat|...
- Afnp	|char*	|form_nocontext	|NN const char* pat|...
--Anp	|void	|load_module_nocontext|U32 flags|NN SV* name|NN SV* ver|...
-+Anp	|void	|load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
- Afnp	|SV*	|mess_nocontext	|NN const char* pat|...
- Afnp	|void	|warn_nocontext	|NN const char* pat|...
- Afnp	|void	|warner_nocontext|U32 err|NN const char* pat|...
-@@ -296,7 +296,7 @@
- Apd	|HV*	|gv_stashpvn	|NN const char* name|U32 namelen|I32 flags
- Apd	|HV*	|gv_stashsv	|NULLOK SV* sv|I32 flags
- Apd	|void	|hv_clear	|NULLOK HV* tb
--poM	|HV *	|hv_copy_hints_hv|NN HV *const ohv
-+poM	|HV *	|hv_copy_hints_hv|NULLOK HV *const ohv
- Ap	|void	|hv_delayfree_ent|NN HV* hv|NULLOK HE* entry
- Abmd	|SV*	|hv_delete	|NULLOK HV* tb|NN const char* key|I32 klen \
- 				|I32 flags
-@@ -486,8 +486,8 @@
- Afp	|SV*	|mess		|NN const char* pat|...
- Ap	|SV*	|vmess		|NN const char* pat|NULLOK va_list* args
- EXp	|void	|qerror		|NN SV* err
--Apd	|void	|sortsv		|NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp
--Apd	|void	|sortsv_flags	|NN SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
-+Apd	|void	|sortsv		|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp
-+Apd	|void	|sortsv_flags	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t cmp|U32 flags
- Apd	|int	|mg_clear	|NN SV* sv
- Apd	|int	|mg_copy	|NN SV* sv|NN SV* nsv|NULLOK const char* key|I32 klen
- pd	|void	|mg_localize	|NN SV* sv|NN SV* nsv
-@@ -768,7 +768,7 @@
- Ap	|void	|save_list	|NN SV** sarg|I32 maxsarg
- Ap	|void	|save_long	|NN long* longp
- Ap	|void	|save_mortalizesv|NN SV* sv
--Ap	|void	|save_nogv	|NULLOK GV* gv
-+Ap	|void	|save_nogv	|NN GV* gv
- p	|void	|save_op
- Ap	|SV*	|save_scalar	|NN GV* gv
- Ap	|void	|save_pptr	|NN char** pptr
-@@ -842,8 +842,8 @@
- pd	|I32	|sv_clean_all
- pd	|void	|sv_clean_objs
- Apd	|void	|sv_clear	|NN SV* sv
--Apd	|I32	|sv_cmp		|NN SV* sv1|NN SV* sv2
--Apd	|I32	|sv_cmp_locale	|NN SV* sv1|NN SV* sv2
-+Apd	|I32	|sv_cmp		|NULLOK SV* sv1|NULLOK SV* sv2
-+Apd	|I32	|sv_cmp_locale	|NULLOK SV* sv1|NULLOK SV* sv2
- #if defined(USE_LOCALE_COLLATE)
- Apd	|char*	|sv_collxfrm	|NN SV* sv|NN STRLEN* nxp
- #endif
-@@ -1094,7 +1094,7 @@
- Ap	|yy_parser*|parser_dup	|NN const yy_parser *proto|NN CLONE_PARAMS* param
- #endif
- Apa	|PTR_TBL_t*|ptr_table_new
--ApR	|void*	|ptr_table_fetch|NN PTR_TBL_t *tbl|NN const void *sv
-+ApR	|void*	|ptr_table_fetch|NN PTR_TBL_t *tbl|NULLOK const void *sv
- Ap	|void	|ptr_table_store|NN PTR_TBL_t *tbl|NULLOK const void *oldsv|NN void *newsv
- Ap	|void	|ptr_table_split|NN PTR_TBL_t *tbl
- Ap	|void	|ptr_table_clear|NULLOK PTR_TBL_t *tbl
-@@ -1352,7 +1352,7 @@
- s	|I32	|sortcv		|NN SV *a|NN SV *b
- s	|I32	|sortcv_xsub	|NN SV *a|NN SV *b
- s	|I32	|sortcv_stacked	|NN SV *a|NN SV *b
--s	|void	|qsortsvu	|NN SV** array|size_t num_elts|NN SVCOMPARE_t compare
-+s	|void	|qsortsvu	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
- #endif
- 
- #if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-@@ -1623,7 +1623,8 @@
- Ap	|int	|PerlIO_flush		|NULLOK PerlIO *f
- Ap	|void	|PerlIO_clearerr	|NULLOK PerlIO *f
- Ap	|void	|PerlIO_set_cnt		|NULLOK PerlIO *f|int cnt
--Ap	|void	|PerlIO_set_ptrcnt	|NULLOK PerlIO *f|NN STDCHAR *ptr|int cnt
-+Ap	|void	|PerlIO_set_ptrcnt	|NULLOK PerlIO *f|NULLOK STDCHAR *ptr \
-+					|int cnt
- Ap	|void	|PerlIO_setlinebuf	|NULLOK PerlIO *f
- Ap	|SSize_t|PerlIO_read		|NULLOK PerlIO *f|NN void *buf|Size_t count
- Ap	|SSize_t|PerlIO_write		|NULLOK PerlIO *f|NN const void *buf|Size_t count
---- perl-5.10.0.orig/util.c
-+++ perl-5.10.0/util.c
-@@ -178,11 +178,11 @@
-     ptr = (Malloc_t)PerlMem_realloc(where,size);
-     PERL_ALLOC_CHECK(ptr);
- 
--    DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) rfree\n",PTR2UV(where),(long)PL_an++));
--    DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) realloc %ld bytes\n",PTR2UV(ptr),(long)PL_an++,(long)size));
--
--    if (ptr != NULL) {
-+    /* MUST do this fixup first, before doing ANYTHING else, as anything else
-+       might allocate memory/free/move memory, and until we do the fixup, it
-+       may well be chasing (and writing to) free memory.  */
- #ifdef PERL_TRACK_MEMPOOL
-+    if (ptr != NULL) {
- 	struct perl_memory_debug_header *const header
- 	    = (struct perl_memory_debug_header *)ptr;
- 
-@@ -198,7 +198,17 @@
- 	header->prev->next = header;
- 
-         ptr = (Malloc_t)((char*)ptr+sTHX);
-+    }
- #endif
-+
-+    /* In particular, must do that fixup above before logging anything via
-+     *printf(), as it can reallocate memory, which can cause SEGVs.  */
-+
-+    DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) rfree\n",PTR2UV(where),(long)PL_an++));
-+    DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) realloc %ld bytes\n",PTR2UV(ptr),(long)PL_an++,(long)size));
-+
-+
-+    if (ptr != NULL) {
- 	return ptr;
-     }
-     else if (PL_nomemok)
---- perl-5.10.0.orig/toke.c
-+++ perl-5.10.0/toke.c
-@@ -692,6 +692,7 @@
- #else
-     parser->nexttoke = 0;
- #endif
-+    parser->error_count = oparser ? oparser->error_count : 0;
-     parser->copline = NOLINE;
-     parser->lex_state = LEX_NORMAL;
-     parser->expect = XSTATE;
---- perl-5.10.0.orig/MANIFEST
-+++ perl-5.10.0/MANIFEST
-@@ -3804,6 +3804,7 @@
- t/op/reverse.t			See if reverse operator works
- t/op/runlevel.t			See if die() works from perl_call_*()
- t/op/rxcode.t			See if /(?{ code })/ works
-+t/op/setpgrpstack.t		See if setpgrp works
- t/op/sleep.t			See if sleep works
- t/op/smartmatch.t		See if the ~~ operator works
- t/op/sort.t			See if sort works
---- perl-5.10.0.orig/pp_sort.c
-+++ perl-5.10.0/pp_sort.c
-@@ -1553,11 +1553,12 @@
- 	max = AvFILL(av) + 1;
- 	if (SvMAGICAL(av)) {
- 	    MEXTEND(SP, max);
--	    p2 = SP;
- 	    for (i=0; i < max; i++) {
- 		SV **svp = av_fetch(av, i, FALSE);
- 		*SP++ = (svp) ? *svp : NULL;
- 	    }
-+	    SP--;
-+	    p1 = p2 = SP - (max-1);
- 	}
- 	else {
- 	    if (SvREADONLY(av))
-@@ -1713,7 +1714,7 @@
- 	SvREADONLY_off(av);
-     else if (av && !sorting_av) {
- 	/* simulate pp_aassign of tied AV */
--	SV** const base = ORIGMARK+1;
-+	SV** const base = MARK+1;
- 	for (i=0; i < max; i++) {
- 	    base[i] = newSVsv(base[i]);
- 	}
---- perl-5.10.0.orig/perliol.h
-+++ perl-5.10.0/perliol.h
-@@ -170,7 +170,7 @@
- 
- /* PerlIO_teardown doesn't need exporting, but the EXTERN_C is needed
-  * for compiling as C++.  Must also match with what perl.h says. */
--EXTERN_C void PerlIO_teardown();
-+EXTERN_C void PerlIO_teardown(void);
- 
- /*--------------------------------------------------------------------------------------*/
- /* Generic, or stub layer functions */
---- perl-5.10.0.orig/hv.c
-+++ perl-5.10.0/hv.c
-@@ -1961,6 +1961,7 @@
-     if (av) {
- 	HvAUX(hv)->xhv_backreferences = 0;
- 	Perl_sv_kill_backrefs(aTHX_ (SV*) hv, av);
-+	SvREFCNT_dec(av);
-     }
- }
- 
---- perl-5.10.0.orig/pp_sys.c
-+++ perl-5.10.0/pp_sys.c
-@@ -3002,7 +3002,7 @@
- 
-     case OP_FTEEXEC:
- #ifdef PERL_EFF_ACCESS
--	access_mode = W_OK;
-+	access_mode = X_OK;
- #else
- 	use_access = 0;
- #endif
-@@ -4289,6 +4289,7 @@
-     if (MAXARG < 2) {
- 	pgrp = 0;
- 	pid = 0;
-+	XPUSHi(-1);
-     }
-     else {
- 	pgrp = POPi;
---- perl-5.10.0.orig/perlio.c
-+++ perl-5.10.0/perlio.c
-@@ -2413,7 +2413,7 @@
-     }
- }
- 
--void PerlIO_teardown() /* Call only from PERL_SYS_TERM(). */
-+void PerlIO_teardown(void) /* Call only from PERL_SYS_TERM(). */
- {
-     dVAR;
- #if 0
---- perl-5.10.0.orig/Makefile.SH
-+++ perl-5.10.0/Makefile.SH
-@@ -43,12 +43,7 @@
- true)
- 	# Prefix all runs of 'miniperl' and 'perl' with
- 	# $ldlibpth so that ./perl finds *this* shared libperl.
--	case "$LD_LIBRARY_PATH" in
--	'')
--		ldlibpth="LD_LIBRARY_PATH=`pwd`";;
--	*)
--		ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
--	esac
-+	ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
- 
- 	pldlflags="$cccdlflags"
- 	static_target='static_pic'
-@@ -101,7 +96,7 @@
- 	    ;;
- 	esac
- 	case "$ldlibpthname" in
--	'') ;;
-+	''|LD_LIBRARY_PATH) ;;
- 	*)
- 	    case "$osname" in
- 	    os2)
---- perl-5.10.0.orig/pp_ctl.c
-+++ perl-5.10.0/pp_ctl.c
-@@ -218,7 +218,6 @@
- 	if (!(cx->sb_rxtainted & 2) && SvTAINTED(TOPs))
- 	    cx->sb_rxtainted |= 2;
- 	sv_catsv(dstr, POPs);
--	FREETMPS; /* Prevent excess tmp stack */
- 
- 	/* Are we done */
- 	if (cx->sb_once || !CALLREGEXEC(rx, s, cx->sb_strend, orig,
-@@ -3076,14 +3075,6 @@
- 
-     sv = POPs;
-     if ( (SvNIOKp(sv) || SvVOK(sv)) && PL_op->op_type != OP_DOFILE) {
--	if ( SvVOK(sv) && ckWARN(WARN_PORTABLE) ) {	/* require v5.6.1 */
--	    HV * hinthv = GvHV(PL_hintgv);
--	    SV ** ptr = NULL;
--	    if (hinthv) ptr = hv_fetchs(hinthv, "v_string", FALSE);
--	    if ( !(ptr && *ptr && SvIOK(*ptr) && SvIV(*ptr)) )
--		Perl_warner(aTHX_ packWARN(WARN_PORTABLE),
--                        "v-string in use/require non-portable");
--	}
- 	sv = new_version(sv);
- 	if (!sv_derived_from(PL_patchlevel, "version"))
- 	    upg_version(PL_patchlevel, TRUE);
-@@ -3135,26 +3126,14 @@
- 
-         /* We do this only with use, not require. */
- 	if (PL_compcv &&
--	  /* If we request a version >= 5.6.0, then v-string are OK
--	     so set $^H{v_string} to suppress the v-string warning */
--	    vcmp(sv, sv_2mortal(upg_version(newSVnv(5.006), FALSE))) >= 0) {
--	  HV * hinthv = GvHV(PL_hintgv);
--	  if( hinthv ) {
--	      SV *hint = newSViv(1);
--	      (void)hv_stores(hinthv, "v_string", hint);
--	      /* This will call through to Perl_magic_sethint() which in turn
--		 sets PL_hints correctly.  */
--	      SvSETMAGIC(hint);
--	  }
- 	  /* If we request a version >= 5.9.5, load feature.pm with the
- 	   * feature bundle that corresponds to the required version. */
--	  if (vcmp(sv, sv_2mortal(upg_version(newSVnv(5.009005), FALSE))) >= 0) {
-+		vcmp(sv, sv_2mortal(upg_version(newSVnv(5.009005), FALSE))) >= 0) {
- 	    SV *const importsv = vnormal(sv);
- 	    *SvPVX_mutable(importsv) = ':';
- 	    ENTER;
- 	    Perl_load_module(aTHX_ 0, newSVpvs("feature"), NULL, importsv, NULL);
- 	    LEAVE;
--	  }
- 	}
- 
- 	RETPUSHYES;
---- perl-5.10.0.orig/sv.c
-+++ perl-5.10.0/sv.c
-@@ -3557,8 +3557,10 @@
- 		GvMULTI_on(dstr);
- 		return;
- 	    }
--	    glob_assign_glob(dstr, sstr, dtype);
--	    return;
-+	    if (isGV_with_GP(sstr)) {
-+		glob_assign_glob(dstr, sstr, dtype);
-+		return;
-+	    }
- 	}
- 
- 	if (dtype >= SVt_PV) {
-@@ -10263,10 +10265,11 @@
- 			daux->xhv_eiter = saux->xhv_eiter
- 			    ? he_dup(saux->xhv_eiter,
- 					(bool)!!HvSHAREKEYS(sstr), param) : 0;
-+			/* backref array needs refcnt=2; see sv_add_backref */
- 			daux->xhv_backreferences =
- 			    saux->xhv_backreferences
- 				? (AV*) SvREFCNT_inc(
--					sv_dup((SV*)saux->xhv_backreferences, param))
-+					sv_dup_inc((SV*)saux->xhv_backreferences, param))
- 				: 0;
- 
-                         daux->xhv_mro_meta = saux->xhv_mro_meta
---- perl-5.10.0.orig/av.c
-+++ perl-5.10.0/av.c
-@@ -433,7 +433,7 @@
-     /* Give any tie a chance to cleanup first */
-     if (SvRMAGICAL(av)) {
- 	const MAGIC* const mg = SvMAGIC(av);
--	if (PL_delaymagic && mg->mg_type == PERL_MAGIC_isa)
-+	if (PL_delaymagic && mg && mg->mg_type == PERL_MAGIC_isa)
- 	    PL_delaymagic |= DM_ARRAY;
-         else
- 	    mg_clear((SV*)av); 
---- perl-5.10.0.orig/mg.c
-+++ perl-5.10.0/mg.c
-@@ -1543,10 +1543,11 @@
-     stash = GvSTASH(
-         SvTYPE(mg->mg_obj) == SVt_PVGV
-             ? (GV*)mg->mg_obj
--            : (GV*)SvMAGIC(mg->mg_obj)->mg_obj
-+            : (GV*)mg_find(mg->mg_obj, PERL_MAGIC_isa)->mg_obj
-     );
- 
--    mro_isa_changed_in(stash);
-+    if (stash)
-+	mro_isa_changed_in(stash);
- 
-     return 0;
- }
---- perl-5.10.0.orig/proto.h
-+++ perl-5.10.0/proto.h
-@@ -260,8 +260,7 @@
- 			__attribute__nonnull__(1);
- 
- PERL_CALLCONV void	Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
--			__attribute__nonnull__(2)
--			__attribute__nonnull__(3);
-+			__attribute__nonnull__(2);
- 
- PERL_CALLCONV SV*	Perl_mess_nocontext(const char* pat, ...)
- 			__attribute__format__(__printf__,1,2)
-@@ -678,9 +677,7 @@
- 
- PERL_CALLCONV HV*	Perl_gv_stashsv(pTHX_ SV* sv, I32 flags);
- PERL_CALLCONV void	Perl_hv_clear(pTHX_ HV* tb);
--PERL_CALLCONV HV *	Perl_hv_copy_hints_hv(pTHX_ HV *const ohv)
--			__attribute__nonnull__(pTHX_1);
--
-+PERL_CALLCONV HV *	Perl_hv_copy_hints_hv(pTHX_ HV *const ohv);
- PERL_CALLCONV void	Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry)
- 			__attribute__nonnull__(pTHX_1);
- 
-@@ -1303,11 +1300,9 @@
- 			__attribute__nonnull__(pTHX_1);
- 
- PERL_CALLCONV void	Perl_sortsv(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp)
--			__attribute__nonnull__(pTHX_1)
- 			__attribute__nonnull__(pTHX_3);
- 
- PERL_CALLCONV void	Perl_sortsv_flags(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags)
--			__attribute__nonnull__(pTHX_1)
- 			__attribute__nonnull__(pTHX_3);
- 
- PERL_CALLCONV int	Perl_mg_clear(pTHX_ SV* sv)
-@@ -2079,7 +2074,9 @@
- PERL_CALLCONV void	Perl_save_mortalizesv(pTHX_ SV* sv)
- 			__attribute__nonnull__(pTHX_1);
- 
--PERL_CALLCONV void	Perl_save_nogv(pTHX_ GV* gv);
-+PERL_CALLCONV void	Perl_save_nogv(pTHX_ GV* gv)
-+			__attribute__nonnull__(pTHX_1);
-+
- PERL_CALLCONV void	Perl_save_op(pTHX);
- PERL_CALLCONV SV*	Perl_save_scalar(pTHX_ GV* gv)
- 			__attribute__nonnull__(pTHX_1);
-@@ -2263,14 +2260,8 @@
- PERL_CALLCONV void	Perl_sv_clear(pTHX_ SV* sv)
- 			__attribute__nonnull__(pTHX_1);
- 
--PERL_CALLCONV I32	Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2)
--			__attribute__nonnull__(pTHX_1)
--			__attribute__nonnull__(pTHX_2);
--
--PERL_CALLCONV I32	Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2)
--			__attribute__nonnull__(pTHX_1)
--			__attribute__nonnull__(pTHX_2);
--
-+PERL_CALLCONV I32	Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
-+PERL_CALLCONV I32	Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
- #if defined(USE_LOCALE_COLLATE)
- PERL_CALLCONV char*	Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp)
- 			__attribute__nonnull__(pTHX_1)
-@@ -2936,8 +2927,7 @@
- 
- PERL_CALLCONV void*	Perl_ptr_table_fetch(pTHX_ PTR_TBL_t *tbl, const void *sv)
- 			__attribute__warn_unused_result__
--			__attribute__nonnull__(pTHX_1)
--			__attribute__nonnull__(pTHX_2);
-+			__attribute__nonnull__(pTHX_1);
- 
- PERL_CALLCONV void	Perl_ptr_table_store(pTHX_ PTR_TBL_t *tbl, const void *oldsv, void *newsv)
- 			__attribute__nonnull__(pTHX_1)
-@@ -3625,7 +3615,6 @@
- 			__attribute__nonnull__(pTHX_2);
- 
- STATIC void	S_qsortsvu(pTHX_ SV** array, size_t num_elts, SVCOMPARE_t compare)
--			__attribute__nonnull__(pTHX_1)
- 			__attribute__nonnull__(pTHX_3);
- 
- #endif
-@@ -4245,9 +4234,7 @@
- PERL_CALLCONV int	Perl_PerlIO_flush(pTHX_ PerlIO *f);
- PERL_CALLCONV void	Perl_PerlIO_clearerr(pTHX_ PerlIO *f);
- PERL_CALLCONV void	Perl_PerlIO_set_cnt(pTHX_ PerlIO *f, int cnt);
--PERL_CALLCONV void	Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt)
--			__attribute__nonnull__(pTHX_2);
--
-+PERL_CALLCONV void	Perl_PerlIO_set_ptrcnt(pTHX_ PerlIO *f, STDCHAR *ptr, int cnt);
- PERL_CALLCONV void	Perl_PerlIO_setlinebuf(pTHX_ PerlIO *f);
- PERL_CALLCONV SSize_t	Perl_PerlIO_read(pTHX_ PerlIO *f, void *buf, Size_t count)
- 			__attribute__nonnull__(pTHX_2);
---- perl-5.10.0.orig/regcomp.c
-+++ perl-5.10.0/regcomp.c
-@@ -8239,6 +8239,9 @@
-         *STRING(ret)= (char)value;
-         STR_LEN(ret)= 1;
-         RExC_emit += STR_SZ(1);
-+	if (listsv) {
-+	    SvREFCNT_dec(listsv);
-+	}
-         return ret;
-     }
-     /* optimize case-insensitive simple patterns (e.g. /[a-z]/i) */
---- perl-5.10.0.orig/doop.c
-+++ perl-5.10.0/doop.c
-@@ -1204,7 +1204,13 @@
- 
-     if (sv != left || (optype != OP_BIT_AND && !SvOK(sv) && !SvGMAGICAL(sv)))
- 	sv_setpvn(sv, "", 0);	/* avoid undef warning on |= and ^= */
--    lsave = lc = SvPV_nomg_const(left, leftlen);
-+    if (sv == left) {
-+	lsave = lc = SvPV_force_nomg(left, leftlen);
-+    }
-+    else {
-+	lsave = lc = SvPV_nomg_const(left, leftlen);
-+	SvPV_force_nomg_nolen(sv);
-+    }
-     rsave = rc = SvPV_nomg_const(right, rightlen);
- 
-     /* This need to come after SvPV to ensure that string overloading has
---- perl-5.10.0.orig/perl.h
-+++ perl-5.10.0/perl.h
-@@ -663,6 +663,11 @@
- #   include <unistd.h>
- #endif
- 
-+/* for WCOREDUMP */
-+#ifdef I_SYS_WAIT
-+#   include <sys/wait.h>
-+#endif
-+
- #ifdef __SYMBIAN32__
- #   undef _SC_ARG_MAX /* Symbian has _SC_ARG_MAX but no sysconf() */
- #endif
-@@ -2652,6 +2657,25 @@
- #  define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp)
- #endif
- 
-+/*
-+=for apidoc Am|void|PERL_SYS_INIT|int argc|char** argv
-+Provides system-specific tune up of the C runtime environment necessary to
-+run Perl interpreters. This should be called only once, before creating
-+any Perl interpreters.
-+
-+=for apidoc Am|void|PERL_SYS_INIT3|int argc|char** argv|char** env
-+Provides system-specific tune up of the C runtime environment necessary to
-+run Perl interpreters. This should be called only once, before creating
-+any Perl interpreters.
-+
-+=for apidoc Am|void|PERL_SYS_TERM|
-+Provides system-specific clean up of the C runtime environment after
-+running Perl interpreters. This should be called only once, after
-+freeing any remaining Perl interpreters.
-+
-+=cut
-+ */
-+
- #define PERL_SYS_INIT(argc, argv)	Perl_sys_init(argc, argv)
- #define PERL_SYS_INIT3(argc, argv, env)	Perl_sys_init3(argc, argv, env)
- #define PERL_SYS_TERM()			Perl_sys_term()
-@@ -3966,7 +3990,7 @@
- #endif
- 
- #ifdef USE_PERLIO
--EXTERN_C void PerlIO_teardown();
-+EXTERN_C void PerlIO_teardown(void);
- # ifdef USE_ITHREADS
- #  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
- #  define PERLIO_TERM 				\
---- perl-5.10.0.orig/pp_hot.c
-+++ perl-5.10.0/pp_hot.c
-@@ -1028,8 +1028,14 @@
- 		*(relem++) = sv;
- 		didstore = av_store(ary,i++,sv);
- 		if (magic) {
--		    if (SvSMAGICAL(sv))
-+		    if (SvSMAGICAL(sv)) {
-+			/* More magic can happen in the mg_set callback, so we
-+			 * backup the delaymagic for now. */
-+			U16 dmbak = PL_delaymagic;
-+			PL_delaymagic = 0;
- 			mg_set(sv);
-+			PL_delaymagic = dmbak;
-+		    }
- 		    if (!didstore)
- 			sv_2mortal(sv);
- 		}
-@@ -1059,8 +1065,12 @@
- 			duplicates += 2;
- 		    didstore = hv_store_ent(hash,sv,tmpstr,0);
- 		    if (magic) {
--			if (SvSMAGICAL(tmpstr))
-+			if (SvSMAGICAL(tmpstr)) {
-+			    U16 dmbak = PL_delaymagic;
-+			    PL_delaymagic = 0;
- 			    mg_set(tmpstr);
-+			    PL_delaymagic = dmbak;
-+			}
- 			if (!didstore)
- 			    sv_2mortal(tmpstr);
- 		    }
-@@ -1084,7 +1094,13 @@
- 	    }
- 	    else
- 		sv_setsv(sv, &PL_sv_undef);
--	    SvSETMAGIC(sv);
-+
-+	    if (SvSMAGICAL(sv)) {
-+		U16 dmbak = PL_delaymagic;
-+		PL_delaymagic = 0;
-+		mg_set(sv);
-+		PL_delaymagic = dmbak;
-+	    }
- 	    break;
- 	}
-     }
-@@ -1198,6 +1214,9 @@
-     if (rx->extflags & RXf_TAINTED)
-         SvTAINTED_on(rv);
-     sv_magic(sv,(SV*)ReREFCNT_inc(rx), PERL_MAGIC_qr,0,0);
-+    if (pkg) {
-+	SvREFCNT_dec(pkg);
-+    }
-     XPUSHs(rv);
-     RETURN;
- }
---- perl-5.10.0.orig/t/comp/require.t
-+++ perl-5.10.0/t/comp/require.t
-@@ -15,7 +15,7 @@
- 
- my $Is_EBCDIC = (ord('A') == 193) ? 1 : 0;
- my $Is_UTF8   = (${^OPEN} || "") =~ /:utf8/;
--my $total_tests = 49;
-+my $total_tests = 50;
- if ($Is_EBCDIC || $Is_UTF8) { $total_tests -= 3; }
- print "1..$total_tests\n";
- 
-@@ -258,6 +258,20 @@
-     }
- }
- 
-+#  [perl #49472] Attributes + Unkown Error
-+
-+{
-+    do_require
-+	'use strict;sub MODIFY_CODE_ATTRIBUTE{} sub f:Blah {$nosuchvar}';
-+    my $err = $@;
-+    $err .= "\n" unless $err =~ /\n$/;
-+    unless ($err =~ /Global symbol "\$nosuchvar" requires /) {
-+	$err =~ s/^/# /mg;
-+	print "${err}not ";
-+    }
-+    print "ok ", ++$i, " [perl #49472]\n";
-+}
-+
- ##########################################
- # What follows are UTF-8 specific tests. #
- # Add generic tests before this point.   #
---- perl-5.10.0.orig/t/op/fork.t
-+++ perl-5.10.0/t/op/fork.t
-@@ -445,16 +445,14 @@
- my $pid = fork;
- die "fork: $!" if !defined $pid;
- if ($pid == 0) {
--    my $rand_child = rand;
-     close RDR;
--    print WTR $rand_child, "\n";
-+    print WTR "STRING_FROM_CHILD\n";
-     close WTR;
- } else {
--    my $rand_parent = rand;
-     close WTR;
--    chomp(my $rand_child  = <RDR>);
-+    chomp(my $string_from_child  = <RDR>);
-     close RDR;
--    print $rand_child ne $rand_parent, "\n";
-+    print $string_from_child eq "STRING_FROM_CHILD", "\n";
- }
- EXPECT
- 1
---- perl-5.10.0.orig/t/op/setpgrpstack.t
-+++ perl-5.10.0/t/op/setpgrpstack.t
-@@ -0,0 +1,16 @@
-+#!./perl -w
-+
-+BEGIN {
-+    chdir 't' if -d 't';
-+    @INC = '../lib';
-+    require './test.pl';
-+}
-+
-+use Config;
-+plan tests => 2;
-+
-+SKIP: {
-+    skip "setpgrp() is not available", 2 unless $Config{d_setpgrp};
-+    ok(!eval { package A;sub foo { die("got here") }; package main; A->foo(setpgrp())});
-+    ok($@ =~ /got here/, "setpgrp() should extend the stack before modifying it");
-+}
---- perl-5.10.0.orig/t/op/bop.t
-+++ perl-5.10.0/t/op/bop.t
-@@ -15,7 +15,7 @@
- # If you find tests are failing, please try adding names to tests to track
- # down where the failure is, and supply your new names as a patch.
- # (Just-in-time test naming)
--plan tests => 161;
-+plan tests => 161 + (10*13*2) + 4;
- 
- # numerics
- ok ((0xdead & 0xbeef) == 0x9ead);
-@@ -428,3 +428,105 @@
-   my $ref = "\x{10000}\0";
-   is(~~$str, $ref);
- }
-+
-+# ref tests
-+
-+my %res;
-+
-+for my $str ("x", "\x{100}") {
-+    for my $chr (qw/S A H G X ( * F/) {
-+        for my $op (qw/| & ^/) {
-+            my $co = ord $chr;
-+            my $so = ord $str;
-+            $res{"$chr$op$str"} = eval qq/chr($co $op $so)/;
-+        }
-+    }
-+    $res{"undef|$str"} = $str;
-+    $res{"undef&$str"} = "";
-+    $res{"undef^$str"} = $str;
-+}
-+
-+sub PVBM () { "X" }
-+index PVBM, "foo";
-+
-+my $warn = 0;
-+local $^W = 1;
-+local $SIG{__WARN__} = sub { $warn++ };
-+
-+sub is_first {
-+    my ($got, $orig, $op, $str, $name) = @_;
-+    is(substr($got, 0, 1), $res{"$orig$op$str"}, $name);
-+}
-+
-+for (
-+    # [object to test, first char of stringification, name]
-+    [undef,             "undef",    "undef"         ],
-+    [\1,                "S",        "scalar ref"    ],
-+    [[],                "A",        "array ref"     ],
-+    [{},                "H",        "hash ref"      ],
-+    [qr/x/,             "(",        "qr//"          ],
-+    [*foo,              "*",        "glob"          ],
-+    [\*foo,             "G",        "glob ref"      ],
-+    [PVBM,              "X",        "PVBM"          ],
-+    [\PVBM,             "S",        "PVBM ref"      ],
-+    [bless([], "Foo"),  "F",        "object"        ],
-+) {
-+    my ($val, $orig, $type) = @$_;
-+
-+    for (["x", "string"], ["\x{100}", "utf8"]) {
-+        my ($str, $desc) = @$_;
-+
-+        $warn = 0;
-+
-+        is_first($val | $str, $orig, "|", $str, "$type | $desc");
-+        is_first($val & $str, $orig, "&", $str, "$type & $desc");
-+        is_first($val ^ $str, $orig, "^", $str, "$type ^ $desc");
-+
-+        is_first($str | $val, $orig, "|", $str, "$desc | $type");
-+        is_first($str & $val, $orig, "&", $str, "$desc & $type");
-+        is_first($str ^ $val, $orig, "^", $str, "$desc ^ $type");
-+
-+        my $new;
-+        ($new = $val) |= $str;
-+        is_first($new, $orig, "|", $str, "$type |= $desc");
-+        ($new = $val) &= $str;
-+        is_first($new, $orig, "&", $str, "$type &= $desc");
-+        ($new = $val) ^= $str;
-+        is_first($new, $orig, "^", $str, "$type ^= $desc");
-+
-+        ($new = $str) |= $val;
-+        is_first($new, $orig, "|", $str, "$desc |= $type");
-+        ($new = $str) &= $val;
-+        is_first($new, $orig, "&", $str, "$desc &= $type");
-+        ($new = $str) ^= $val;
-+        is_first($new, $orig, "^", $str, "$desc ^= $type");
-+
-+        if ($orig eq "undef") {
-+            # undef |= and undef ^= don't warn
-+            is($warn, 10, "no duplicate warnings");
-+        }
-+        else {
-+            is($warn, 0, "no warnings");
-+        }
-+    }
-+}
-+
-+my $strval;
-+
-+{
-+    package Bar;
-+    use overload q/""/ => sub { $strval };
-+
-+    package Baz;
-+    use overload q/|/ => sub { "y" };
-+}
-+
-+ok(!eval { bless([], "Bar") | "x"; 1 },     "string overload can't use |");
-+like($@, qr/no method found/,               "correct error");
-+is(eval { bless([], "Baz") | "x" }, "y",    "| overload works");
-+
-+my $obj = bless [], "Bar";
-+$strval = "x";
-+eval { $obj |= "Q" };
-+$strval = "z";
-+is("$obj", "z", "|= doesn't break string overload");
---- perl-5.10.0.orig/t/mro/pkg_gen.t
-+++ perl-5.10.0/t/mro/pkg_gen.t
-@@ -4,7 +4,7 @@
- use warnings;
- 
- chdir 't' if -d 't';
--require q(./test.pl); plan(tests => 6);
-+require q(./test.pl); plan(tests => 7);
- 
- {
-     package Foo;
-@@ -34,3 +34,7 @@
- 
- delete $::{"Foo::"};
- is(mro::get_pkg_gen('Foo'), 0, 'pkg_gen 0 for delete $::{Pkg::}');
-+
-+delete $::{"Quux::"};
-+push @Quux::ISA, "Woot"; # should not segfault
-+ok(1, "No segfault on modification of ISA in a deleted stash");
---- perl-5.10.0.orig/t/lib/h2ph.h
-+++ perl-5.10.0/t/lib/h2ph.h
-@@ -26,6 +26,10 @@
- #undef MAX
- #define MAX(a,b) ((a) > (b) ? (a) : (b))
- 
-+/* Test #undef'ining an existing constant function */
-+#define NOTTRUE 0
-+#undef NOTTRUE
-+
- /* Test #ifdef */
- #ifdef __SOME_UNIMPORTANT_PROPERTY
- #define MIN(a,b) ((a) < (b) ? (a) : (b))
-@@ -68,9 +72,11 @@
-  *  with `use lib qw(/opt/perl5/lib/site_perl/i586-linux/linux);' or whatever
-  *  your equivalent is...
-  */
-+#if 0
- #include <sys/socket.h>
- #import "sys/ioctl.h"
- #include_next <sys/fcntl.h>
-+#endif
- 
- /* typedefs should be ignored */
- typedef struct a_struct {
---- perl-5.10.0.orig/t/lib/proxy_constant_subs.t
-+++ perl-5.10.0/t/lib/proxy_constant_subs.t
-@@ -7,20 +7,20 @@
-         print "1..0 # Skip -- Perl configured without B module\n";
-         exit 0;
-     }
--    if ($Config::Config{'extensions'} !~ /\bPOSIX\b/) {
--        print "1..0 # Skip -- Perl configured without POSIX\n";
-+    if ($Config::Config{'extensions'} !~ /\bFcntl\b/) {
-+        print "1..0 # Skip -- Perl configured without Fcntl\n";
-         exit 0;
-     }
--    # errno is a real subroutine, and acts as control
-+    # S_IFMT is a real subroutine, and acts as control
-     # SEEK_SET is a proxy constant subroutine.
--    @symbols = qw(errno SEEK_SET);
-+    @symbols = qw(S_IFMT SEEK_SET);
- }
- 
- use strict;
- use warnings;
- use Test::More tests => 4 * @symbols;
- use B qw(svref_2object GVf_IMPORTED_CV);
--use POSIX @symbols;
-+use Fcntl @symbols;
- 
- # GVf_IMPORTED_CV should not be set on the original, but should be set on the
- # imported GV.
-@@ -29,7 +29,7 @@
-     my ($ps, $ms);
-     {
- 	no strict 'refs';
--	$ps = svref_2object(\*{"POSIX::$symbol"});
-+	$ps = svref_2object(\*{"Fcntl::$symbol"});
- 	$ms = svref_2object(\*{"::$symbol"});
-     }
-     isa_ok($ps, 'B::GV');
---- perl-5.10.0.orig/t/lib/h2ph.pht
-+++ perl-5.10.0/t/lib/h2ph.pht
-@@ -1,6 +1,6 @@
- require '_h2ph_pre.ph';
- 
--no warnings 'redefine';
-+no warnings qw(redefine misc);
- 
- unless(defined(&SQUARE)) {
-     sub SQUARE {
-@@ -22,6 +22,8 @@
-         my($a,$b) = @_;
- 	    eval q((($a) > ($b) ? ($a) : ($b)));
-     }' unless defined(&MAX);
-+    eval 'sub NOTTRUE () {0;}' unless defined(&NOTTRUE);
-+    undef(&NOTTRUE) if defined(&NOTTRUE);
-     if(defined(&__SOME_UNIMPORTANT_PROPERTY)) {
- 	eval 'sub MIN {
- 	    my($a,$b) = @_;
-@@ -47,15 +49,17 @@
-     } else {
- 	eval 'sub WHATEVER () {1000;}' unless defined(&WHATEVER);
-     }
--    require 'sys/socket.ph';
--    require 'sys/ioctl.ph';
--    eval {
--	my(@REM);
--	my(%INCD) = map { $INC{$_} => 1 } (grep { $_ eq "sys/fcntl.ph" } keys(%INC));
--	@REM = map { "$_/sys/fcntl.ph" } (grep { not exists($INCD{"$_/sys/fcntl.ph"}) and -f "$_/sys/fcntl.ph" } @INC);
--	require "$REM[0]" if @REM;
--    };
--    warn($@) if $@;
-+    if(0) {
-+	require 'sys/socket.ph';
-+	require 'sys/ioctl.ph';
-+	eval {
-+	    my(@REM);
-+	    my(%INCD) = map { $INC{$_} => 1 } (grep { $_ eq "sys/fcntl.ph" } keys(%INC));
-+	    @REM = map { "$_/sys/fcntl.ph" } (grep { not exists($INCD{"$_/sys/fcntl.ph"}) and -f "$_/sys/fcntl.ph" } @INC);
-+	    require "$REM[0]" if @REM;
-+	};
-+	warn($@) if $@;
-+    }
-     eval("sub sun () { 0; }") unless defined(&sun);
-     eval("sub mon () { 1; }") unless defined(&mon);
-     eval("sub tue () { 2; }") unless defined(&tue);
---- perl-5.10.0.orig/t/lib/warnings/pp_ctl
-+++ perl-5.10.0/t/lib/warnings/pp_ctl
-@@ -222,18 +222,6 @@
- Use of uninitialized value $foo in print at (eval 1) line 1.
- ########
- # pp_ctl.c
--use warnings 'portable';
--eval 'use 5.6.1';
--EXPECT
--v-string in use/require non-portable at (eval 1) line 2.
--########
--# pp_ctl.c
--use warnings 'portable';
--eval 'use v5.6.1';
--EXPECT
--v-string in use/require non-portable at (eval 1) line 2.
--########
--# pp_ctl.c
- use warnings;
- {
-     no warnings;
-@@ -245,15 +233,3 @@
- use warnings;
- eval 'use 5.006; use 5.10.0';
- EXPECT
--########
--# pp_ctl.c
--use warnings;
--eval '{use 5.006;} use 5.10.0';
--EXPECT
--v-string in use/require non-portable at (eval 1) line 2.
--########
--# pp_ctl.c
--use warnings;
--eval 'use vars; use 5.10.0';
--EXPECT
--v-string in use/require non-portable at (eval 1) line 2.
---- perl-5.10.0.orig/lib/h2ph.t
-+++ perl-5.10.0/lib/h2ph.t
-@@ -15,7 +15,7 @@
-     exit 0;
- }
- 
--print "1..2\n";
-+print "1..4\n";
- 
- # quickly compare two text files
- sub txt_compare {
-@@ -32,6 +32,14 @@
- $ok = txt_compare("lib/h2ph.ph", "lib/h2ph.pht");
- print(($ok == 0 ? "" : "not "), "ok 2\n");
-     
-+# does the output compile?
-+$ok = system($^X, "-I../lib", "lib/h2ph.pht");
-+print(($ok == 0 ? "" : "not "), "ok 3\n");
-+
-+# is the output warning free?
-+$ok = system($^X, "-w", "-I../lib", "-e", '$SIG{__WARN__} = sub { die $_[0] }; require "lib/h2ph.pht"');
-+print(($ok == 0 ? "" : "not "), "ok 4\n");
-+
- # cleanup - should this be in an END block?
- unlink("lib/h2ph.ph");
- unlink("_h2ph_pre.ph");
---- perl-5.10.0.orig/lib/CGI.pm
-+++ perl-5.10.0/lib/CGI.pm
-@@ -4032,7 +4032,7 @@
-     my $filename;
-     find_tempdir() unless -w $TMPDIRECTORY;
-     for (my $i = 0; $i < $MAXTRIES; $i++) {
--	last if ! -f ($filename = sprintf("${TMPDIRECTORY}${SL}CGItemp%d",$sequence++));
-+	last if ! -f ($filename = sprintf("\%s${SL}CGItemp%d",$TMPDIRECTORY,$sequence++));
-     }
-     # check that it is a more-or-less valid filename
-     return unless $filename =~ m!^([a-zA-Z0-9_ \'\":/.\$\\-]+)$!;
-@@ -4109,6 +4109,8 @@
- 	     hr;
-    }
- 
-+   print end_html;
-+
- =head1 ABSTRACT
- 
- This perl library uses perl5 objects to make it easy to create Web
-@@ -5388,7 +5390,7 @@
- If Apache's mod_rewrite is turned on, then the script name and path
- info probably won't match the request that the user sent. Set
- -rewrite=>1 (default) to return URLs that match what the user sent
--(the original request URI). Set -rewrite->0 to return URLs that match
-+(the original request URI). Set -rewrite=>0 to return URLs that match
- the URL after mod_rewrite's rules have run. Because the additional
- path information only makes sense in the context of the rewritten URL,
- -rewrite is set to false when you request path info in the URL.
---- perl-5.10.0.orig/lib/Pod/Html.pm
-+++ perl-5.10.0/lib/Pod/Html.pm
-@@ -246,8 +246,8 @@
- my $Doindex;
- 
- my $Backlink;
--my($Listlevel, @Listend);
--my $After_Lpar;
-+my($Listlevel, @Listtype);
-+my $ListNewTerm;
- use vars qw($Ignore);  # need to localize it later.
- 
- my(%Items_Named, @Items_Seen);
-@@ -286,7 +286,7 @@
-     $Htmldir = "";	    	# The directory to which the html pages
- 				# will (eventually) be written.
-     $Htmlfile = "";		# write to stdout by default
--    $Htmlfileurl = "" ;		# The url that other files would use to
-+    $Htmlfileurl = "";		# The url that other files would use to
- 				# refer to this file.  This is only used
- 				# to make relative urls that point to
- 				# other files.
-@@ -302,8 +302,9 @@
-     $Doindex = 1;   	    	# non-zero if we should generate an index
-     $Backlink = '';		# text for "back to top" links
-     $Listlevel = 0;		# current list depth
--    @Listend = ();		# the text to use to end the list.
--    $After_Lpar = 0;            # set to true after a par in an =item
-+    @Listtype = ();		# list types for open lists
-+    $ListNewTerm = 0;		# indicates new term in definition list; used
-+    				# to correctly open/close <dd> tags
-     $Ignore = 1;		# whether or not to format text.  we don't
- 				#   format text until we hit our first pod
- 				#   directive.
-@@ -519,7 +520,6 @@
- 
-     # now convert this file
-     my $after_item;             # set to true after an =item
--    my $need_dd = 0;
-     warn "Converting input file $Podfile\n" if $Verbose;
-     foreach my $i (0..$#poddata){
- 	$_ = $poddata[$i];
-@@ -527,7 +527,6 @@
- 	if (/^(=.*)/s) {	# is it a pod directive?
- 	    $Ignore = 0;
- 	    $after_item = 0;
--	    $need_dd = 0;
- 	    $_ = $1;
- 	    if (/^=begin\s+(\S+)\s*(.*)/si) {# =begin
- 		process_begin($1, $2);
-@@ -543,12 +542,12 @@
- 		if (/^=(head[1-6])\s+(.*\S)/s) {	# =head[1-6] heading
- 		    process_head( $1, $2, $Doindex && $index );
- 		} elsif (/^=item\s*(.*\S)?/sm) {	# =item text
--		    $need_dd = process_item( $1 );
-+		    process_item( $1 );
- 		    $after_item = 1;
- 		} elsif (/^=over\s*(.*)/) {		# =over N
- 		    process_over();
- 		} elsif (/^=back/) {		# =back
--		    process_back($need_dd);
-+		    process_back();
- 		} elsif (/^=for\s+(\S+)\s*(.*)/si) {# =for
- 		    process_for($1,$2);
- 		} else {
-@@ -563,8 +562,14 @@
- 	    next if $Ignore;
- 	    next if @Begin_Stack && $Begin_Stack[-1] ne 'html';
- 	    print HTML and next if @Begin_Stack && $Begin_Stack[-1] eq 'html';
--	    print HTML "<dd>\n" if $need_dd;
- 	    my $text = $_;
-+
-+	    # Open tag for definition list as we have something to put in it
-+	    if( $ListNewTerm ){
-+		print HTML "<dd>\n";
-+		$ListNewTerm = 0;
-+	    }
-+
- 	    if( $text =~ /\A\s+/ ){
- 		process_pre( \$text );
- 	        print HTML "<pre>\n$text</pre>\n";
-@@ -594,12 +599,8 @@
- 		}
- 		## end of experimental
- 
--		if( $after_item ){
--		    $After_Lpar = 1;
--		}
- 		print HTML "<p>$text</p>\n";
- 	    }
--	    print HTML "</dd>\n" if $need_dd;
- 	    $after_item = 0;
- 	}
-     }
-@@ -1074,12 +1075,12 @@
- 
- 	# figure out what kind of item it is.
- 	# Build string for referencing this item.
--	if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bullet
-+	if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bulleted list
- 	    next unless $1;
- 	    $item = $1;
-         } elsif( $txt =~ /\A=item\s+(?>\d+\.?)\s*(.*)\Z/s ) { # numbered list
- 	    $item = $1;
--	} elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # plain item
-+	} elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # definition list
- 	    $item = $1;
- 	} else {
- 	    next;
-@@ -1099,12 +1100,7 @@
-     $tag =~ /head([1-6])/;
-     my $level = $1;
- 
--    if( $Listlevel ){
--	warn "$0: $Podfile: unterminated list at =head in paragraph $Paragraph.  ignoring.\n" unless $Quiet;
--        while( $Listlevel ){
--            process_back();
--        }
--    }
-+    finish_list();
- 
-     print HTML "<p>\n";
-     if( $level == 1 && ! $Top ){
-@@ -1143,19 +1139,32 @@
-         $name = anchorify($name);
- 	print HTML qq{<a name="$name" class="item">}, process_text( \$otext ), '</a>';
-     }
--    print HTML "</strong>\n";
-+    print HTML "</strong>";
-     undef( $EmittedItem );
- }
- 
--sub emit_li {
-+sub new_listitem {
-     my( $tag ) = @_;
-+    # Open tag for definition list as we have something to put in it
-+    if( ($tag ne 'dl') && ($ListNewTerm) ){
-+	print HTML "<dd>\n";
-+	$ListNewTerm = 0;
-+    }
-+
-     if( $Items_Seen[$Listlevel]++ == 0 ){
--	push( @Listend, "</$tag>" );
-+	# start of new list
-+	push( @Listtype, "$tag" );
- 	print HTML "<$tag>\n";
-+    } else {
-+	# if this is not the first item, close the previous one
-+	if ( $tag eq 'dl' ){
-+	    print HTML "</dd>\n" unless $ListNewTerm;
-+	} else {
-+	    print HTML "</li>\n";
-+	}
-     }
--    my $emitted = $tag eq 'dl' ? 'dt' : 'li';
--    print HTML "<$emitted>";
--    return $emitted;
-+    my $opentag = $tag eq 'dl' ? 'dt' : 'li';
-+    print HTML "<$opentag>";
- }
- 
- #
-@@ -1163,7 +1172,6 @@
- #
- sub process_item {
-     my( $otext ) = @_;
--    my $need_dd = 0; # set to 1 if we need a <dd></dd> after an item
- 
-     # lots of documents start a list without doing an =over.  this is
-     # bad!  but, the proper thing to do seems to be to just assume
-@@ -1173,43 +1181,41 @@
- 	process_over();
-     }
- 
--    # formatting: insert a paragraph if preceding item has >1 paragraph
--    if( $After_Lpar ){
--	print HTML $need_dd ? "</dd>\n" : "</li>\n" if $After_Lpar;
--	$After_Lpar = 0;
--    }
--
-     # remove formatting instructions from the text
-     my $text = depod( $otext );
- 
--    my $emitted; # the tag actually emitted, used for closing
--
-     # all the list variants:
-     if( $text =~ /\A\*/ ){ # bullet
--        $emitted = emit_li( 'ul' );
-+        new_listitem( 'ul' );
-         if ($text =~ /\A\*\s+(\S.*)\Z/s ) { # with additional text
-             my $tag = $1;
-             $otext =~ s/\A\*\s+//;
-             emit_item_tag( $otext, $tag, 1 );
-+            print HTML "\n";
-         }
- 
-     } elsif( $text =~ /\A\d+/ ){ # numbered list
--        $emitted = emit_li( 'ol' );
-+        new_listitem( 'ol' );
-         if ($text =~ /\A(?>\d+\.?)\s*(\S.*)\Z/s ) { # with additional text
-             my $tag = $1;
-             $otext =~ s/\A\d+\.?\s*//;
-             emit_item_tag( $otext, $tag, 1 );
-+            print HTML "\n";
-         }
- 
-     } else {			# definition list
--        $emitted = emit_li( 'dl' );
-+        # new_listitem takes care of opening the <dt> tag
-+        new_listitem( 'dl' );
-         if ($text =~ /\A(.+)\Z/s ){ # should have text
-             emit_item_tag( $otext, $text, 1 );
-+	    # write the definition term and close <dt> tag
-+	    print HTML "</dt>\n";
-         }
--        $need_dd = 1;
-+        # trigger opening a <dd> tag for the actual definition; will not
-+        # happen if next paragraph is also a definition term (=item)
-+        $ListNewTerm = 1;
-     }
-     print HTML "\n";
--    return $need_dd;
- }
- 
- #
-@@ -1219,30 +1225,31 @@
-     # start a new list
-     $Listlevel++;
-     push( @Items_Seen, 0 );
--    $After_Lpar = 0;
- }
- 
- #
- # process_back - process a pod back tag and convert it to HTML format.
- #
- sub process_back {
--    my $need_dd = shift;
-     if( $Listlevel == 0 ){
- 	warn "$0: $Podfile: unexpected =back directive in paragraph $Paragraph.  ignoring.\n" unless $Quiet;
- 	return;
-     }
- 
--    # close off the list.  note, I check to see if $Listend[$Listlevel] is
-+    # close off the list.  note, I check to see if $Listtype[$Listlevel] is
-     # defined because an =item directive may have never appeared and thus
--    # $Listend[$Listlevel] may have never been initialized.
-+    # $Listtype[$Listlevel] may have never been initialized.
-     $Listlevel--;
--    if( defined $Listend[$Listlevel] ){
--	print HTML $need_dd ? "</dd>\n" : "</li>\n" if $After_Lpar;
--	print HTML $Listend[$Listlevel];
--        print HTML "\n";
--        pop( @Listend );
-+    if( defined $Listtype[$Listlevel] ){
-+        if ( $Listtype[$Listlevel] eq 'dl' ){
-+            print HTML "</dd>\n" unless $ListNewTerm;
-+        } else {
-+            print HTML "</li>\n";
-+        }
-+        print HTML "</$Listtype[$Listlevel]>\n";
-+        pop( @Listtype );
-+        $ListNewTerm = 0;
-     }
--    $After_Lpar = 0;
- 
-     # clean up item count
-     pop( @Items_Seen );
-@@ -2025,9 +2032,11 @@
- # after the entire pod file has been read and converted.
- #
- sub finish_list {
--    while ($Listlevel > 0) {
--	print HTML "</dl>\n";
--	$Listlevel--;
-+    if( $Listlevel ){
-+	warn "$0: $Podfile: unterminated list(s) at =head in paragraph $Paragraph.  ignoring.\n" unless $Quiet;
-+	while( $Listlevel ){
-+            process_back();
-+        }
-     }
- }
- 
---- perl-5.10.0.orig/lib/Pod/Usage.pm
-+++ perl-5.10.0/lib/Pod/Usage.pm
-@@ -631,7 +631,7 @@
-             $$self{PENDING}[-1][1] = $_;
-         }
-     }
--    if ($$self{USAGE_SKIPPING}) {
-+    if ($$self{USAGE_SKIPPING} && $element !~ m/^over-/) {
-         pop @{ $$self{PENDING} };
-     } else {
-         $self->SUPER::_handle_element_end($element);
---- perl-5.10.0.orig/lib/Pod/Man.pm
-+++ perl-5.10.0/lib/Pod/Man.pm
-@@ -1,7 +1,6 @@
- # Pod::Man -- Convert POD data to formatted *roff input.
--# $Id: Man.pm,v 2.16 2007-11-29 01:35:53 eagle Exp $
- #
--# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
-+# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
- #     Russ Allbery <rra@stanford.edu>
- # Substantial contributions by Sean Burke <sburke@cpan.org>
- #
-@@ -37,10 +36,9 @@
- 
- @ISA = qw(Pod::Simple);
- 
--# Don't use the CVS revision as the version, since this module is also in Perl
--# core and too many things could munge CVS magic revision strings.  This
--# number should ideally be the same as the CVS revision in podlators, however.
--$VERSION = '2.16';
-+# Custom Debian version, see http://bugs.debian.org/500210
-+$VERSION = '2.18_01';
-+$VERSION = eval $VERSION;
- 
- # Set the debugging level.  If someone has inserted a debug function into this
- # class already, use that.  Otherwise, use any Pod::Simple debug function
-@@ -73,7 +71,9 @@
-     my $class = shift;
-     my $self = $class->SUPER::new;
- 
--    # Tell Pod::Simple to handle S<> by automatically inserting &nbsp;.
-+    # Tell Pod::Simple not to handle S<> by automatically inserting &nbsp;.
-+    # Note that this messes up Unicode output by embedding explicit ISO 8859-1
-+    # non-breaking spaces that we have to clean up later.
-     $self->nbsp_for_S (1);
- 
-     # Tell Pod::Simple to keep whitespace whenever possible.
-@@ -348,23 +348,22 @@
-     my $convert = $$options{convert};
-     my $literal = $$options{literal};
- 
--    # Normally we do character translation, but we won't even do that in
--    # <Data> blocks.
--    if ($convert) {
--        if (ASCII) {
--            $text =~ s/(\\|[^\x00-\x7F])/$ESCAPES{ord ($1)} || "X"/eg;
--        } else {
--            $text =~ s/(\\)/$ESCAPES{ord ($1)} || "X"/eg;
--        }
--    }
--
-     # Cleanup just tidies up a few things, telling *roff that the hyphens are
--    # hard and putting a bit of space between consecutive underscores.
-+    # hard, putting a bit of space between consecutive underscores, and
-+    # escaping backslashes.  Be careful not to mangle our character
-+    # translations by doing this before processing character translation.
-     if ($cleanup) {
-+        $text =~ s/\\/\\e/g;
-         $text =~ s/-/\\-/g;
-         $text =~ s/_(?=_)/_\\|/g;
-     }
- 
-+    # Normally we do character translation, but we won't even do that in
-+    # <Data> blocks or if UTF-8 output is desired.
-+    if ($convert && !$$self{utf8} && ASCII) {
-+        $text =~ s/([^\x00-\x7F])/$ESCAPES{ord ($1)} || "X"/eg;
-+    }
-+
-     # Ensure that *roff doesn't convert literal quotes to UTF-8 single quotes,
-     # but don't mess up our accept escapes.
-     if ($literal) {
-@@ -641,10 +640,10 @@
-         # to Roman rather than the actual previous font when used in headings.
-         # troff output may still be broken, but at least we can fix nroff by
-         # just switching the font changes to the non-fixed versions.
--        $nroff =~ s/\Q$$self{FONTS}{100}\E(.*)\\f[PR]/$1/g;
--        $nroff =~ s/\Q$$self{FONTS}{101}\E(.*)\\f([PR])/\\fI$1\\f$2/g;
--        $nroff =~ s/\Q$$self{FONTS}{110}\E(.*)\\f([PR])/\\fB$1\\f$2/g;
--        $nroff =~ s/\Q$$self{FONTS}{111}\E(.*)\\f([PR])/\\f\(BI$1\\f$2/g;
-+        $nroff =~ s/\Q$$self{FONTS}{100}\E(.*?)\\f[PR]/$1/g;
-+        $nroff =~ s/\Q$$self{FONTS}{101}\E(.*?)\\f([PR])/\\fI$1\\f$2/g;
-+        $nroff =~ s/\Q$$self{FONTS}{110}\E(.*?)\\f([PR])/\\fB$1\\f$2/g;
-+        $nroff =~ s/\Q$$self{FONTS}{111}\E(.*?)\\f([PR])/\\f\(BI$1\\f$2/g;
- 
-         # Now finally output the command.  Bother with .ie only if the nroff
-         # and troff output aren't the same.
-@@ -710,6 +709,7 @@
-     for (@output) {
-         my ($type, $entry) = @$_;
-         $entry =~ s/\"/\"\"/g;
-+        $entry =~ s/\\/\\\\/g;
-         $self->output (".IX $type " . '"' . $entry . '"' . "\n");
-     }
- }
-@@ -734,6 +734,19 @@
-         return;
-     }
- 
-+    # If we were given the utf8 option, set an output encoding on our file
-+    # handle.  Wrap in an eval in case we're using a version of Perl too old
-+    # to understand this.
-+    #
-+    # This is evil because it changes the global state of a file handle that
-+    # we may not own.  However, we can't just blindly encode all output, since
-+    # there may be a pre-applied output encoding (such as from PERL_UNICODE)
-+    # and then we would double-encode.  This seems to be the least bad
-+    # approach.
-+    if ($$self{utf8}) {
-+        eval { binmode ($$self{output_fh}, ':encoding(UTF-8)') };
-+    }
-+
-     # Determine information for the preamble and then output it.
-     my ($name, $section);
-     if (defined $$self{name}) {
-@@ -851,7 +864,7 @@
- # module, but this order is correct for both Solaris and Linux.
- sub preamble {
-     my ($self, $name, $section, $date) = @_;
--    my $preamble = $self->preamble_template;
-+    my $preamble = $self->preamble_template (!$$self{utf8});
- 
-     # Build the index line and make sure that it will be syntactically valid.
-     my $index = "$name $section";
-@@ -1025,7 +1038,7 @@
- sub cmd_head2 {
-     my ($self, $attrs, $text) = @_;
-     $text = $self->heading_common ($text, $$attrs{start_line});
--    $self->output ($self->switchquotes ('.Sh', $self->mapfonts ($text)));
-+    $self->output ($self->switchquotes ('.SS', $self->mapfonts ($text)));
-     $self->outindex ('Subsection', $text);
-     $$self{NEEDSPACE} = 0;
-     return '';
-@@ -1273,7 +1286,7 @@
- # results are pretty poor.
- #
- # This only works in an ASCII world.  What to do in a non-ASCII world is very
--# unclear.
-+# unclear -- hopefully we can assume UTF-8 and just leave well enough alone.
- @ESCAPES{0xA0 .. 0xFF} = (
-     "\\ ", undef, undef, undef,            undef, undef, undef, undef,
-     undef, undef, undef, undef,            undef, "\\%", undef, undef,
-@@ -1294,27 +1307,18 @@
-     "o\\*/" , "u\\*`", "u\\*'", "u\\*^",   "u\\*:", "y\\*'", "\\*(th", "y\\*:",
- ) if ASCII;
- 
--# Make sure that at least this works even outside of ASCII.
--$ESCAPES{ord("\\")} = "\\e";
--
- ##############################################################################
- # Premable
- ##############################################################################
- 
- # The following is the static preamble which starts all *roff output we
--# generate.  It's completely static except for the font to use as a
--# fixed-width font, which is designed by @CFONT@, and the left and right
--# quotes to use for C<> text, designated by @LQOUTE@ and @RQUOTE@.
-+# generate.  Most is static except for the font to use as a fixed-width font,
-+# which is designed by @CFONT@, and the left and right quotes to use for C<>
-+# text, designated by @LQOUTE@ and @RQUOTE@.  However, the second part, which
-+# defines the accent marks, is only used if $escapes is set to true.
- sub preamble_template {
--    return <<'----END OF PREAMBLE----';
--.de Sh \" Subsection heading
--.br
--.if t .Sp
--.ne 5
--.PP
--\fB\\$1\fR
--.PP
--..
-+    my ($self, $accents) = @_;
-+    my $preamble = <<'----END OF PREAMBLE----';
- .de Sp \" Vertical space (when we can't use .PP)
- .if t .sp .5v
- .if n .sp
-@@ -1358,7 +1362,7 @@
- .el       .ds Aq '
- .\"
- .\" If the F register is turned on, we'll generate index entries on stderr for
--.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
-+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
- .\" entries marked with X<> in POD.  Of course, you'll have to process the
- .\" output yourself in some meaningful fashion.
- .ie \nF \{\
-@@ -1372,6 +1376,10 @@
- .    de IX
- ..
- .\}
-+----END OF PREAMBLE----
-+
-+    if ($accents) {
-+        $preamble .= <<'----END OF PREAMBLE----'
- .\"
- .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
- .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-@@ -1436,6 +1444,8 @@
- .rm #[ #] #H #V #F C
- ----END OF PREAMBLE----
- #`# for cperl-mode
-+    }
-+    return $preamble;
- }
- 
- ##############################################################################
-@@ -1582,6 +1592,28 @@
- By default, section 1 will be used unless the file ends in .pm in which case
- section 3 will be selected.
- 
-+=item utf8
-+
-+By default, Pod::Man produces the most conservative possible *roff output
-+to try to ensure that it will work with as many different *roff
-+implementations as possible.  Many *roff implementations cannot handle
-+non-ASCII characters, so this means all non-ASCII characters are converted
-+either to a *roff escape sequence that tries to create a properly accented
-+character (at least for troff output) or to C<X>.
-+
-+If this option is set, Pod::Man will instead output UTF-8.  If your *roff
-+implementation can handle it, this is the best output format to use and
-+avoids corruption of documents containing non-ASCII characters.  However,
-+be warned that *roff source with literal UTF-8 characters is not supported
-+by many implementations and may even result in segfaults and other bad
-+behavior.
-+
-+Be aware that, when using this option, the input encoding of your POD
-+source must be properly declared unless it is US-ASCII or Latin-1.  POD
-+input without an C<=encoding> command will be assumed to be in Latin-1,
-+and if it's actually in UTF-8, the output will be double-encoded.  See
-+L<perlpod(1)> for more information on the C<=encoding> command.
-+
- =back
- 
- The standard Pod::Simple method parse_file() takes one argument naming the
-@@ -1617,14 +1649,11 @@
- 
- =head1 BUGS
- 
--Eight-bit input data isn't handled at all well at present.  The correct
--approach would be to map EE<lt>E<gt> escapes to the appropriate UTF-8
--characters and then do a translation pass on the output according to the
--user-specified output character set.  Unfortunately, we can't send eight-bit
--data directly to the output unless the user says this is okay, since some
--vendor *roff implementations can't handle eight-bit data.  If the *roff
--implementation can, however, that's far superior to the current hacked
--characters that only work under troff.
-+Encoding handling assumes that PerlIO is available and does not work
-+properly if it isn't since encode and decode do not work well in
-+combination with PerlIO encoding layers.  It's very unclear how to
-+correctly handle this without PerlIO encoding layers.  The C<utf8> option
-+is therefore not supported unless Perl is built with PerlIO support.
- 
- There is currently no way to turn off the guesswork that tries to format
- unmarked text appropriately, and sometimes it isn't wanted (particularly
-@@ -1651,6 +1680,13 @@
- 
- =head1 CAVEATS
- 
-+If Pod::Man is given the C<utf8> option, the encoding of its output file
-+handle will be forced to UTF-8 if possible, overriding any existing
-+encoding.  This will be done even if the file handle is not created by
-+Pod::Man and was passed in from outside.  This seems to be the only way to
-+consistently enforce UTF-8-encoded output regardless of PERL_UNICODE and
-+other settings.
-+
- The handling of hyphens and em dashes is somewhat fragile, and one may get
- the wrong one under some circumstances.  This should only matter for
- B<troff> output.
---- perl-5.10.0.orig/lib/Pod/t/htmlview.pod
-+++ perl-5.10.0/lib/Pod/t/htmlview.pod
-@@ -110,7 +110,7 @@
- 
- =head1 TESTING FOR AND BEGIN
- 
--=for html    <br>
-+=for html    <br />
- <p>
- blah blah
- </p>
---- perl-5.10.0.orig/lib/Pod/t/htmlview.t
-+++ perl-5.10.0/lib/Pod/t/htmlview.t
-@@ -86,17 +86,15 @@
- <h2><a name="new__"><code>new()</code></a></h2>
- <p>Constructor method.  Accepts the following config options:</p>
- <dl>
--<dt><strong><a name="foo" class="item">foo</a></strong>
-+<dt><strong><a name="foo" class="item">foo</a></strong></dt>
- 
- <dd>
- <p>The foo item.</p>
- </dd>
--</li>
--<dt><strong><a name="bar" class="item">bar</a></strong>
-+<dt><strong><a name="bar" class="item">bar</a></strong></dt>
- 
- <dd>
- <p>The bar item.</p>
--</dd>
- <p>This is a list within a list</p>
- <ul>
- <li>
-@@ -106,30 +104,36 @@
- <p>The waz item.</p>
- </li>
- </ul>
--<dt><strong><a name="baz" class="item">baz</a></strong>
-+</dd>
-+<dt><strong><a name="baz" class="item">baz</a></strong></dt>
- 
- <dd>
- <p>The baz item.</p>
- </dd>
--</li>
- </dl>
- <p>Title on the same line as the =item + * bullets</p>
- <ul>
- <li><strong><a name="black_cat" class="item"><code>Black</code> Cat</a></strong>
- 
-+</li>
- <li><strong><a name="sat_on_the" class="item">Sat <em>on</em>&nbsp;the</a></strong>
- 
-+</li>
- <li><strong><a name="mat" class="item">Mat&lt;!&gt;</a></strong>
- 
-+</li>
- </ul>
- <p>Title on the same line as the =item + numerical bullets</p>
- <ol>
- <li><strong><a name="cat" class="item">Cat</a></strong>
- 
-+</li>
- <li><strong><a name="sat" class="item">Sat</a></strong>
- 
-+</li>
- <li><strong><a name="mat2" class="item">Mat</a></strong>
- 
-+</li>
- </ol>
- <p>No bullets, no title</p>
- <dl>
-@@ -137,17 +141,14 @@
- <dd>
- <p>Cat</p>
- </dd>
--</li>
- <dt>
- <dd>
- <p>Sat</p>
- </dd>
--</li>
- <dt>
- <dd>
- <p>Mat</p>
- </dd>
--</li>
- </dl>
- <p>
- </p>
-@@ -157,7 +158,7 @@
- </p>
- <hr />
- <h1><a name="testing_for_and_begin">TESTING FOR AND BEGIN</a></h1>
--<br>
-+<br />
- <p>
- blah blah
- </p><p>intermediate text</p>
---- perl-5.10.0.orig/lib/Pod/t/htmllink.t
-+++ perl-5.10.0/lib/Pod/t/htmllink.t
-@@ -108,24 +108,21 @@
- <h2><a name="section_three">section three</a></h2>
- <p>This is section three.</p>
- <dl>
--<dt><strong><a name="item1" class="item">item1</a></strong>
-+<dt><strong><a name="item1" class="item">item1</a></strong></dt>
- 
- <dd>
- <p>This is item one.</p>
- </dd>
--</li>
--<dt><strong><a name="item_2" class="item">item 2</a></strong>
-+<dt><strong><a name="item_2" class="item">item 2</a></strong></dt>
- 
- <dd>
- <p>This is item two.</p>
- </dd>
--</li>
--<dt><strong><a name="item_three" class="item">item three</a></strong>
-+<dt><strong><a name="item_three" class="item">item three</a></strong></dt>
- 
- <dd>
- <p>This is item three.</p>
- </dd>
--</li>
- </dl>
- 
- </body>
---- perl-5.10.0.orig/lib/Pod/t/man.t
-+++ perl-5.10.0/lib/Pod/t/man.t
-@@ -17,7 +17,7 @@
-     }
-     unshift (@INC, '../blib/lib');
-     $| = 1;
--    print "1..22\n";
-+    print "1..23\n";
- }
- 
- END {
-@@ -344,7 +344,7 @@
- ###
- .SH "NAME"
- "Stuff" (no guesswork)
--.Sh "\s-1THINGS\s0"
-+.SS "\s-1THINGS\s0"
- .IX Subsection "THINGS"
- Oboy, is this \*(C+ \*(L"fun\*(R" yet! (guesswork)
- ###
-@@ -431,3 +431,14 @@
- .IX Header "Quote escaping"
- Don't escape `this' but do escape \f(CW\`this\*(Aq\fR (and don't surround it in quotes).
- ###
-+
-+###
-+=head1 INDEX
-+
-+Index entry matching a whitespace escape.X<\n>
-+###
-+.SH "INDEX"
-+.IX Header "INDEX"
-+Index entry matching a whitespace escape.
-+.IX Xref "\\n"
-+###
---- perl-5.10.0.orig/lib/Pod/t/basic.man
-+++ perl-5.10.0/lib/Pod/t/basic.man
-@@ -7,7 +7,7 @@
- .ie n .SH "This ""is"" a ""level 1"" heading"
- .el .SH "This \f(CWis\fP a ``level 1'' heading"
- .IX Header "This is a level 1 heading"
--.Sh "``Level'' ""2 \fIheading\fP"
-+.SS "``Level'' ""2 \fIheading\fP"
- .IX Subsection "``Level'' ""2 heading"
- \fILevel 3 \f(BIheading \f(BIwith \f(CB\*(C`weird \f(CBstuff "" (double quote)\f(CB\*(C'\f(BI\f(BI\fI\fR
- .IX Subsection "Level 3 heading with weird stuff """" (double quote)"
-@@ -20,7 +20,7 @@
- .el .SH "This \f(CWis\fP a ``level 1'' heading"
- .IX Header "This is a level 1 heading"
- Text.
--.Sh "``Level'' 2 \fIheading\fP"
-+.SS "``Level'' 2 \fIheading\fP"
- .IX Subsection "``Level'' 2 heading"
- Text.
- .PP
---- perl-5.10.0.orig/lib/Object/Accessor.pm
-+++ perl-5.10.0/lib/Object/Accessor.pm
-@@ -621,6 +621,7 @@
- 
- See C<perldoc perlsub> for details.
- 
-+=back
- 
- =cut
- 
---- perl-5.10.0.orig/lib/Net/SMTP.pm
-+++ perl-5.10.0/lib/Net/SMTP.pm
-@@ -625,6 +625,7 @@
- 
- B<Debug> - Enable debugging information
- 
-+B<Port> - Select a port on the remote host to connect to (default is 25)
- 
- Example:
- 
---- perl-5.10.0.orig/lib/Net/Config.pm
-+++ perl-5.10.0/lib/Net/Config.pm
-@@ -57,9 +57,8 @@
- }
- TRY_INTERNET_CONFIG
- 
--my $file = __FILE__;
-+my $file = '/etc/perl/Net/libnet.cfg';
- my $ref;
--$file =~ s/Config.pm/libnet.cfg/;
- if (-f $file) {
-   $ref = eval { local $SIG{__DIE__}; do $file };
-   if (ref($ref) eq 'HASH') {
-@@ -132,8 +131,8 @@
- C<Net::Config> holds configuration data for the modules in the libnet
- distribution. During installation you will be asked for these values.
- 
--The configuration data is held globally in a file in the perl installation
--tree, but a user may override any of these values by providing their own. This
-+The configuration data is held globally in C</etc/perl/Net/libnet.cfg>,
-+but a user may override any of these values by providing their own. This
- can be done by having a C<.libnetrc> file in their home directory. This file
- should return a reference to a HASH containing the keys described below.
- For example
---- perl-5.10.0.orig/lib/Net/hostent.t
-+++ perl-5.10.0/lib/Net/hostent.t
-@@ -16,6 +16,9 @@
-     }
-     if ($^O eq 'MacOS' || ($^O eq 'irix' && $Config{osvers} == 5)) {
- 	plan skip_all => "Test relies on resolution of localhost, fails on $^O ($Config{osvers})";
-+    } elsif (!-f '/etc/hosts') {
-+	# /etc/hosts is not always present on buildds
-+	plan skip_all => "Test requires /etc/hosts: not found";
-     }
- }
- 
---- perl-5.10.0.orig/lib/ExtUtils/CBuilder.pm
-+++ perl-5.10.0/lib/ExtUtils/CBuilder.pm
-@@ -36,6 +36,8 @@
- 		 sunos     Unix
- 		 cygwin    Unix
- 		 os2       Unix
-+		 gnukfreebsd Unix
-+		 gnu       Unix
- 		 
- 		 dos       Windows
- 		 MSWin32   Windows
---- perl-5.10.0.orig/lib/ExtUtils/MM_Unix.pm
-+++ perl-5.10.0/lib/ExtUtils/MM_Unix.pm
-@@ -2088,16 +2088,16 @@
-     my(@m);
- 
-     push @m, q{
--install :: all pure_install doc_install
-+install :: pure_install doc_install
- 	$(NOECHO) $(NOOP)
- 
--install_perl :: all pure_perl_install doc_perl_install
-+install_perl :: pure_perl_install doc_perl_install
- 	$(NOECHO) $(NOOP)
- 
--install_site :: all pure_site_install doc_site_install
-+install_site :: pure_site_install doc_site_install
- 	$(NOECHO) $(NOOP)
- 
--install_vendor :: all pure_vendor_install doc_vendor_install
-+install_vendor :: pure_vendor_install doc_vendor_install
- 	$(NOECHO) $(NOOP)
- 
- pure_install :: pure_$(INSTALLDIRS)_install
-@@ -2112,10 +2112,8 @@
- doc__install : doc_site_install
- 	$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
- 
--pure_perl_install ::
--	$(NOECHO) $(MOD_INSTALL) \
--		read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
--		write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
-+pure_perl_install :: all
-+	$(NOECHO) umask 022; $(MOD_INSTALL) \
- 		$(INST_LIB) $(DESTINSTALLPRIVLIB) \
- 		$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
- 		$(INST_BIN) $(DESTINSTALLBIN) \
-@@ -2126,8 +2124,8 @@
- 		}.$self->catdir('$(SITEARCHEXP)','auto','$(FULLEXT)').q{
- 
- 
--pure_site_install ::
--	$(NOECHO) $(MOD_INSTALL) \
-+pure_site_install :: all
-+	$(NOECHO) umask 02; $(MOD_INSTALL) \
- 		read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
- 		write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
- 		$(INST_LIB) $(DESTINSTALLSITELIB) \
-@@ -2139,10 +2137,8 @@
- 	$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
- 		}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
- 
--pure_vendor_install ::
--	$(NOECHO) $(MOD_INSTALL) \
--		read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
--		write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
-+pure_vendor_install :: all
-+	$(NOECHO) umask 022; $(MOD_INSTALL) \
- 		$(INST_LIB) $(DESTINSTALLVENDORLIB) \
- 		$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
- 		$(INST_BIN) $(DESTINSTALLVENDORBIN) \
-@@ -2150,38 +2146,20 @@
- 		$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
- 		$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
- 
--doc_perl_install ::
--	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
--	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
--	-$(NOECHO) $(DOC_INSTALL) \
--		"Module" "$(NAME)" \
--		"installed into" "$(INSTALLPRIVLIB)" \
--		LINKTYPE "$(LINKTYPE)" \
--		VERSION "$(VERSION)" \
--		EXE_FILES "$(EXE_FILES)" \
--		>> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
-+doc_perl_install :: all
- 
--doc_site_install ::
--	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
--	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
--	-$(NOECHO) $(DOC_INSTALL) \
-+doc_site_install :: all
-+	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
-+	-$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
-+	-$(NOECHO) umask 02; $(DOC_INSTALL) \
- 		"Module" "$(NAME)" \
- 		"installed into" "$(INSTALLSITELIB)" \
- 		LINKTYPE "$(LINKTYPE)" \
- 		VERSION "$(VERSION)" \
- 		EXE_FILES "$(EXE_FILES)" \
--		>> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
-+		>> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
- 
--doc_vendor_install ::
--	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
--	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
--	-$(NOECHO) $(DOC_INSTALL) \
--		"Module" "$(NAME)" \
--		"installed into" "$(INSTALLVENDORLIB)" \
--		LINKTYPE "$(LINKTYPE)" \
--		VERSION "$(VERSION)" \
--		EXE_FILES "$(EXE_FILES)" \
--		>> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
-+doc_vendor_install :: all
- 
- };
- 
-@@ -2190,13 +2168,12 @@
- 	$(NOECHO) $(NOOP)
- 
- uninstall_from_perldirs ::
--	$(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
- 
- uninstall_from_sitedirs ::
- 	$(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
- 
- uninstall_from_vendordirs ::
--	$(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
-+
- };
- 
-     join("",@m);
-@@ -2474,7 +2451,7 @@
- 	($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
-     }
-     unless ($libperl && -f $lperl) { # Ilya's code...
--	my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
-+	my $dir = $self->{PERL_SRC} || "/usr/lib";
- 	$dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
- 	$libperl ||= "libperl$self->{LIB_EXT}";
- 	$libperl   = "$dir/$libperl";
-@@ -3065,8 +3042,7 @@
-     print STDERR "  prefixify $var => $path\n" if $Verbose >= 2;
-     print STDERR "    from $sprefix to $rprefix\n" if $Verbose >= 2;
- 
--    if( $self->{ARGS}{PREFIX} && $self->file_name_is_absolute($path) && 
--        $path !~ s{^\Q$sprefix\E\b}{$rprefix}s ) 
-+    if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
-     {
- 
-         print STDERR "    cannot prefix, using default.\n" if $Verbose >= 2;
-@@ -3110,14 +3086,11 @@
- 	    # pm_to_blib depends on then it can't depend on pm_to_blib
- 	    # else we have a dependency loop.
- 	    my $pm_dep;
--	    my $perlrun;
- 	    if( defined $self->{PM}{$target} ) {
- 		$pm_dep  = '';
--		$perlrun = 'PERLRUN';
- 	    }
- 	    else {
- 		$pm_dep  = 'pm_to_blib';
--		$perlrun = 'PERLRUNINST';
- 	    }
- 
-             $m .= <<MAKE_FRAG;
-@@ -3126,7 +3099,7 @@
- 	\$(NOECHO) \$(NOOP)
- 
- $target :: $plfile $pm_dep
--	\$($perlrun) $plfile $target
-+	\$(PERLRUNINST) $plfile $target
- MAKE_FRAG
- 
- 	}
---- perl-5.10.0.orig/lib/ExtUtils/MM_Any.pm
-+++ perl-5.10.0/lib/ExtUtils/MM_Any.pm
-@@ -685,8 +685,6 @@
- sub manifypods_target {
-     my($self) = shift;
- 
--    my $man1pods      = '';
--    my $man3pods      = '';
-     my $dependencies  = '';
- 
-     # populate manXpods & dependencies:
-@@ -702,7 +700,7 @@
-     foreach my $section (qw(1 3)) {
-         my $pods = $self->{"MAN${section}PODS"};
-         push @man_cmds, $self->split_command(<<CMD, %$pods);
--	\$(NOECHO) \$(POD2MAN) --section=$section --perm_rw=\$(PERM_RW)
-+	\$(NOECHO) \$(POD2MAN) --section=\$(MAN${section}EXT) --perm_rw=\$(PERM_RW)
- CMD
-     }
- 
-@@ -1157,9 +1155,11 @@
-         $self->{SITEPREFIX}   ||= $sprefix;
-         $self->{VENDORPREFIX} ||= $vprefix;
- 
--        # Lots of MM extension authors like to use $(PREFIX) so we
--        # put something sensible in there no matter what.
--        $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
-+	my $p = $self->{PREFIX} = $self->{PERLPREFIX};
-+	for my $t (qw/PERL SITE VENDOR/)
-+	{
-+	    $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
-+	}
-     }
- 
-     my $arch    = $Config{archname};
---- perl-5.10.0.orig/lib/ExtUtils/Install.pm
-+++ perl-5.10.0/lib/ExtUtils/Install.pm
-@@ -453,7 +453,7 @@
-     return 0;
- }
- 
--=item _mkpath($dir,$show,$mode,$verbose,$fake)
-+=item _mkpath($dir,$show,$verbose,$fake)
- 
- Wrapper around File::Path::mkpath() to handle errors.
- 
-@@ -470,13 +470,13 @@
- =cut
- 
- sub _mkpath {
--    my ($dir,$show,$mode,$verbose,$fake)=@_;
-+    my ($dir,$show,$verbose,$fake)=@_;
-     if ( $verbose && $verbose > 1 && ! -d $dir) {
-         $show= 1;
--        printf "mkpath(%s,%d,%#o)\n", $dir, $show, $mode;
-+        printf "mkpath(%s,%d)\n", $dir, $show;
-     }
-     if (!$fake) {
--        if ( ! eval { File::Path::mkpath($dir,$show,$mode); 1 } ) {
-+        if ( ! eval { File::Path::mkpath($dir,$show); 1 } ) {
-             _choke("Can't create '$dir'","$@");
-         }
- 
-@@ -644,7 +644,7 @@
-     }   
-     
-     foreach my $targetdir (sort keys %check_dirs) {
--        _mkpath( $targetdir, 0, 0755, $verbose, $nonono );
-+        _mkpath( $targetdir, 0, $verbose, $nonono );
-     }
-     foreach my $found (@found_files) {
-         my ($diff, $ffd, $origfile, $mode, $size, $atime, $mtime,
-@@ -657,7 +657,7 @@
-                 $targetfile= _unlink_or_rename( $targetfile, 'tryhard', 'install' )
-                     unless $nonono;
-             } elsif ( ! -d $targetdir ) {
--                _mkpath( $targetdir, 0, 0755, $verbose, $nonono );
-+                _mkpath( $targetdir, 0, $verbose, $nonono );
-             }
-             print "Installing $targetfile\n";
-             _copy( $sourcefile, $targetfile, $verbose, $nonono, );
-@@ -686,7 +686,7 @@
- 
-     if ($pack{'write'}) {
-         $dir = install_rooted_dir(dirname($pack{'write'}));
--        _mkpath( $dir, 0, 0755, $verbose, $nonono );
-+        _mkpath( $dir, 0, $verbose, $nonono );
-         print "Writing $pack{'write'}\n";
-         $packlist->write(install_rooted_file($pack{'write'})) unless $nonono;
-     }
-@@ -984,7 +984,7 @@
- sub pm_to_blib {
-     my($fromto,$autodir,$pm_filter) = @_;
- 
--    _mkpath($autodir,0,0755);
-+    _mkpath($autodir,0);
-     while(my($from, $to) = each %$fromto) {
-         if( -f $to && -s $from == -s $to && -M $to < -M $from ) {
-             print "Skip $to (unchanged)\n";
-@@ -1007,7 +1007,7 @@
-             # we wont try hard here. its too likely to mess things up.
-             forceunlink($to);
-         } else {
--            _mkpath(dirname($to),0,0755);
-+            _mkpath(dirname($to),0);
-         }
-         if ($need_filtering) {
-             run_filter($pm_filter, $from, $to);
---- perl-5.10.0.orig/lib/ExtUtils/t/INST.t
-+++ perl-5.10.0/lib/ExtUtils/t/INST.t
-@@ -65,9 +65,7 @@
- is( $mm->{NAME}, 'Big::Dummy',  'NAME' );
- is( $mm->{VERSION}, 0.01,            'VERSION' );
- 
--my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
--                    $Config{prefixexp}        || $Config{prefix};
--is( $mm->{PERLPREFIX}, $config_prefix,   'PERLPREFIX' );
-+is( $mm->{PERLPREFIX}, '$(PREFIX)',   'PERLPREFIX' );
- 
- is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
- 
---- perl-5.10.0.orig/lib/ExtUtils/t/INST_PREFIX.t
-+++ perl-5.10.0/lib/ExtUtils/t/INST_PREFIX.t
-@@ -16,7 +16,7 @@
- }
- 
- use strict;
--use Test::More tests => 52;
-+use Test::More tests => 47;
- use MakeMaker::Test::Utils;
- use MakeMaker::Test::Setup::BFD;
- use ExtUtils::MakeMaker;
-@@ -62,16 +62,16 @@
-                         Writing\ $Makefile\ for\ Big::Dummy\n
- }x );
- 
--is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
-+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
- 
- isa_ok( $mm, 'ExtUtils::MakeMaker' );
- 
- is( $mm->{NAME}, 'Big::Dummy',  'NAME' );
- is( $mm->{VERSION}, 0.01,            'VERSION' );
- 
--foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
--    unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
--}
-+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
-+#    unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
-+#}
- 
- 
- my $PREFIX = File::Spec->catdir('foo', 'bar');
---- perl-5.10.0.orig/lib/Getopt/Long.pm
-+++ perl-5.10.0/lib/Getopt/Long.pm
-@@ -1483,7 +1483,6 @@
- use overload
-   # Treat this object as an oridinary string for legacy API.
-   '""'	   => \&name,
--  '0+'	   => sub { 0 },
-   fallback => 1;
- 
- 1;
---- perl-5.10.0.orig/lib/File/Temp.pm
-+++ perl-5.10.0/lib/File/Temp.pm
-@@ -890,7 +890,12 @@
- 		  @{ $dirs_to_unlink{$$} } : () );
-       foreach my $dir (@dirs) {
- 	if (-d $dir) {
--	  rmtree($dir, $DEBUG, 0);
-+          # Some versions of rmtree will abort if you attempt to remove
-+          # the directory you are sitting in. We protect that and turn it
-+          # into a warning. We do this because this occurs during
-+          # cleanup and so can not be caught by the user.
-+          eval { rmtree($dir, $DEBUG, 0); };
-+          warn $@ if ($@ && $^W);
- 	}
-       }
- 
-@@ -2234,6 +2239,12 @@
- through the same set of random file names and may well cause
- themselves to give up if they exceed the number of retry attempts.
- 
-+=head2 Directory removal
-+
-+Note that if you have chdir'ed into the temporary directory and it is
-+subsequently cleaned up in the END block, then you will get a warning
-+from File::Path::rmtree().
-+
- =head2 BINMODE
- 
- The file returned by File::Temp will have been opened in binary mode
---- perl-5.10.0.orig/lib/File/Find.pm
-+++ perl-5.10.0/lib/File/Find.pm
-@@ -84,7 +84,7 @@
- 
- Reports the name of a directory only AFTER all its entries
- have been reported.  Entry point C<finddepth()> is a shortcut for
--specifying C<<{ bydepth => 1 }>> in the first argument of C<find()>.
-+specifying C<{ bydepth =E<gt> 1 }> in the first argument of C<find()>.
- 
- =item C<preprocess>
- 
---- perl-5.10.0.orig/lib/File/Path.pm
-+++ perl-5.10.0/lib/File/Path.pm
-@@ -316,10 +316,8 @@
-                     print "skipped $root\n" if $arg->{verbose};
-                     next ROOT_DIR;
-                 }
--                if (!chmod $perm | 0700, $root) {
--                    if ($Force_Writeable) {
--                        _error($arg, "cannot make directory writeable", $canon);
--                    }
-+                if ($Force_Writeable && !chmod $perm | 0700, $root) {
-+                    _error($arg, "cannot make directory writeable", $canon);
-                 }
-                 print "rmdir $root\n" if $arg->{verbose};
-                 if (rmdir $root) {
-@@ -328,7 +326,7 @@
-                 }
-                 else {
-                     _error($arg, "cannot remove directory", $canon);
--                    if (!chmod($perm, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
-+                    if ($Force_Writeable && !chmod($perm, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
-                     ) {
-                         _error($arg, sprintf("cannot restore permissions to 0%o",$perm), $canon);
-                     }
-@@ -351,10 +349,8 @@
-             }
- 
-             my $nperm = $perm & 07777 | 0600;
--            if ($nperm != $perm and not chmod $nperm, $root) {
--                if ($Force_Writeable) {
--                    _error($arg, "cannot make file writeable", $canon);
--                }
-+            if ($Force_Writeable && $nperm != $perm and not chmod $nperm, $root) {
-+                _error($arg, "cannot make file writeable", $canon);
-             }
-             print "unlink $canon\n" if $arg->{verbose};
-             # delete all versions under VMS
---- perl-5.10.0.orig/lib/Math/Complex.t
-+++ perl-5.10.0/lib/Math/Complex.t
-@@ -34,6 +34,11 @@
- }			# cos(), sin(), cosh(), sinh().  The division
- 			# of doubles is the current suspect.
- 
-+my %skip;
-+if (`uname -m` =~ /^arm/) {
-+    $skip{$_} = 'non-IEEE fp rounding' for 289, 509;
-+}
-+
- while (<DATA>) {
- 	s/^\s+//;
- 	next if $_ eq '' || /^\#/;
-@@ -563,7 +568,9 @@
- 
- 	print "# @_\n";
- 
--	if ("$got" eq "$expected"
-+	if ($skip{$test}) {
-+		print "ok $test # skipped: $skip{$test}\n";
-+	} elsif ("$got" eq "$expected"
- 	    ||
- 	    ($expected =~ /^-?\d/ && $got == $expected)
- 	    ||
---- perl-5.10.0.orig/lib/Math/BigFloat.pm
-+++ perl-5.10.0/lib/Math/BigFloat.pm
-@@ -2142,8 +2142,9 @@
-   # But we need at least $scale digits, so calculate how many are missing
-   my $shift = $scale - $digits;
- 
--  # That should never happen (we take care of integer guesses above)
--  # $shift = 0 if $shift < 0; 
-+  # This happens if the input had enough digits 
-+  # (we take care of integer guesses above)
-+  $shift = 0 if $shift < 0; 
- 
-   # Multiply in steps of 100, by shifting left two times the "missing" digits
-   my $s2 = $shift * 2;
---- perl-5.10.0.orig/lib/Math/BigInt/CalcEmu.pm
-+++ perl-5.10.0/lib/Math/BigInt/CalcEmu.pm
-@@ -295,7 +295,7 @@
- =head1 DESCRIPTION
- 
- Contains routines that emulate low-level math functions in BigInt, e.g.
--optional routines the low-level math package does not provide on it's own.
-+optional routines the low-level math package does not provide on its own.
- 
- Will be loaded on demand and called automatically by BigInt.
- 
---- perl-5.10.0.orig/lib/Math/BigInt/t/mbimbf.t
-+++ perl-5.10.0/lib/Math/BigInt/t/mbimbf.t
-@@ -32,7 +32,7 @@
-   print "# INC = @INC\n";
- 
-   plan tests => 684 
--    + 23;		# own tests
-+    + 26;		# own tests
-   }
- 
- use Math::BigInt 1.70;
-@@ -100,3 +100,9 @@
- $x = $x->blog(Math::BigInt->new(10));
- 
- ok ($x,2);
-+
-+for my $i (80,88,100) {
-+    $x = Math::BigFloat->new("1." . ("0" x $i) . "1");
-+    $x = $x->bsqrt;
-+    ok ($x, 1);
-+}
---- perl-5.10.0.orig/lib/CPAN/FirstTime.pm
-+++ perl-5.10.0/lib/CPAN/FirstTime.pm
-@@ -940,7 +940,7 @@
-     }
- 
-     if (!$matcher or 'makepl_arg make_arg' =~ /$matcher/) {
--        my_dflt_prompt(makepl_arg => "", $matcher);
-+        my_dflt_prompt(makepl_arg => "INSTALLDIRS=site", $matcher);
-         my_dflt_prompt(make_arg => "", $matcher);
-     }
- 
---- perl-5.10.0.orig/lib/CPAN/HandleConfig.pm
-+++ perl-5.10.0/lib/CPAN/HandleConfig.pm
-@@ -526,7 +526,7 @@
-         $configpm = $INC{"CPAN/MyConfig.pm"};
-         $redo++;
-     } else {
--        my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
-+        my($path_to_cpan) = '/etc/perl';
-         my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
-         my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
-         my $inc_key;
---- perl-5.10.0.orig/lib/Module/Build.pm
-+++ perl-5.10.0/lib/Module/Build.pm
-@@ -49,6 +49,8 @@
- 		 cygwin    Unix
- 		 os2       Unix
- 		 interix   Unix
-+		 gnukfreebsd Unix
-+		 gnu       Unix
- 		 
- 		 dos       Windows
- 		 MSWin32   Windows
---- perl-5.10.0.orig/lib/Module/Build/Base.pm
-+++ perl-5.10.0/lib/Module/Build/Base.pm
-@@ -2552,7 +2552,7 @@
-   foreach my $file (keys %$files) {
-     # Pod::Simple based parsers only support one document per instance.
-     # This is expected to change in a future version (Pod::Simple > 3.03).
--    my $parser  = Pod::Man->new( section => 1 ); # binaries go in section 1
-+    my $parser  = Pod::Man->new( section => '1p' ); # binaries go in section 1p
-     my $manpage = $self->man1page_name( $file ) . '.' .
- 	          $self->config( 'man1ext' );
-     my $outfile = File::Spec->catfile($mandir, $manpage);
-@@ -2576,7 +2576,7 @@
-   while (my ($file, $relfile) = each %$files) {
-     # Pod::Simple based parsers only support one document per instance.
-     # This is expected to change in a future version (Pod::Simple > 3.03).
--    my $parser  = Pod::Man->new( section => 3 ); # libraries go in section 3
-+    my $parser  = Pod::Man->new( section => '3pm' ); # libraries go in section 3pm
-     my $manpage = $self->man3page_name( $relfile ) . '.' .
- 	          $self->config( 'man3ext' );
-     my $outfile = File::Spec->catfile( $mandir, $manpage);
---- perl-5.10.0.orig/lib/Archive/Tar.pm
-+++ perl-5.10.0/lib/Archive/Tar.pm
-@@ -261,6 +261,13 @@
-                 $self->_error( qq[Cannot read compressed format in tar-mode] );
-                 return;
-             }
-+            
-+            ### size is < HEAD, which means a corrupted file, as the minimum
-+            ### length is _at least_ HEAD
-+            if (length $chunk != HEAD) {
-+                $self->_error( qq[Cannot read enough bytes from the tarfile] );
-+                return;
-+            }
-         }
- 
-         ### if we can't read in all bytes... ###
-@@ -561,26 +568,61 @@
- 
-     ### it's a relative path ###
-     } else {
--        my $cwd     = (defined $self->{cwd} ? $self->{cwd} : cwd());
-+        my $cwd     = (ref $self and defined $self->{cwd}) 
-+                        ? $self->{cwd} 
-+                        : cwd();
- 
-         my @dirs = defined $alt
-             ? File::Spec->splitdir( $dirs )         # It's a local-OS path
-             : File::Spec::Unix->splitdir( $dirs );  # it's UNIX-style, likely
-                                                     # straight from the tarball
- 
--        ### paths that leave the current directory are not allowed under
--        ### strict mode, so only allow it if a user tells us to do this.
-         if( not defined $alt            and 
--            not $INSECURE_EXTRACT_MODE  and 
--            grep { $_ eq '..' } @dirs
--        ) {
--            $self->_error(
--                q[Entry ']. $entry->full_path .q[' is attempting to leave the ].
--                q[current working directory. Not extracting under SECURE ].
--                q[EXTRACT MODE]
--            );
--            return;
--        }            
-+            not $INSECURE_EXTRACT_MODE 
-+        ) {            
-+
-+            ### paths that leave the current directory are not allowed under
-+            ### strict mode, so only allow it if a user tells us to do this.
-+            if( grep { $_ eq '..' } @dirs ) {
-+    
-+                $self->_error(
-+                    q[Entry ']. $entry->full_path .q[' is attempting to leave ].
-+                    q[the current working directory. Not extracting under ].
-+                    q[SECURE EXTRACT MODE]
-+                );
-+                return;
-+            } 
-+        
-+            ### the archive may be asking us to extract into a symlink. This
-+            ### is not sane and a possible security issue, as outlined here:
-+            ### https://rt.cpan.org/Ticket/Display.html?id=30380
-+            ### https://bugzilla.redhat.com/show_bug.cgi?id=295021
-+            ### https://issues.rpath.com/browse/RPL-1716
-+            my $full_path = $cwd;
-+            for my $d ( @dirs ) {
-+                $full_path = File::Spec->catdir( $full_path, $d );
-+                
-+                ### we've already checked this one, and it's safe. Move on.
-+                next if ref $self and $self->{_link_cache}->{$full_path};
-+
-+                if( -l $full_path ) {
-+                    my $to   = readlink $full_path;
-+                    my $diag = "symlinked directory ($full_path => $to)";
-+
-+                    $self->_error(
-+                        q[Entry ']. $entry->full_path .q[' is attempting to ].
-+                        qq[extract to a $diag. This is considered a security ].
-+                        q[vulnerability and not allowed under SECURE EXTRACT ].
-+                        q[MODE]
-+                    );
-+                    return;
-+                }
-+                
-+                ### XXX keep a cache if possible, so the stats become cheaper:
-+                $self->{_link_cache}->{$full_path} = 1 if ref $self;
-+            }
-+        }
-+
-         
-         ### '.' is the directory delimiter, of which the first one has to
-         ### be escaped/changed.
-@@ -622,7 +664,8 @@
-     unless ( -d _ ) {
-         eval { File::Path::mkpath( $dir, 0, 0777 ) };
-         if( $@ ) {
--            $self->_error( qq[Could not create directory '$dir': $@] );
-+            my $fp = $entry->full_path;
-+            $self->_error(qq[Could not create directory '$dir' for '$fp': $@]);
-             return;
-         }
-         
-@@ -672,8 +715,13 @@
-         $self->_make_special_file( $entry, $full ) or return;
-     }
- 
--    utime time, $entry->mtime - TIME_OFFSET, $full or
--        $self->_error( qq[Could not update timestamp] );
-+    ### only update the timestamp if it's not a symlink; that will change the
-+    ### timestamp of the original. This addresses bug #33669: Could not update
-+    ### timestamp warning on symlinks
-+    if( not -l $full ) {
-+        utime time, $entry->mtime - TIME_OFFSET, $full or
-+            $self->_error( qq[Could not update timestamp] );
-+    }
- 
-     if( $CHOWN && CAN_CHOWN ) {
-         chown $entry->uid, $entry->gid, $full or
-@@ -707,8 +755,8 @@
-                 or $fail++;
-         }
- 
--        $err =  qq[Making symbolink link from '] . $entry->linkname .
--                qq[' to '$file' failed] if $fail;
-+        $err =  qq[Making symbolic link '$file' to '] .
-+                $entry->linkname .q[' failed] if $fail;
- 
-     } elsif ( $entry->is_hardlink ) {
-         my $fail;
---- perl-5.10.0.orig/lib/Archive/Extract.pm
-+++ perl-5.10.0/lib/Archive/Extract.pm
-@@ -550,12 +550,19 @@
-                              $self->bin_tar, '-tf', '-'] :
-             [$self->bin_tar, '-tf', $self->archive];
- 
--        ### run the command ###
--        my $buffer = '';
--        unless( scalar run( command => $cmd,
-+            ### run the command 
-+            ### newer versions of 'tar' (1.21 and up) now print record size
-+            ### to STDERR as well if v OR t is given (used to be both). This 
-+            ### is a 'feature' according to the changelog, so we must now only
-+            ### inspect STDOUT, otherwise, failures like these occur:
-+            ### nntp.perl.org/group/perl.cpan.testers/2009/02/msg3230366.html
-+            my $buffer  = '';
-+            my @out     = run(  command => $cmd,
-                             buffer  => \$buffer,
--                            verbose => $DEBUG )
--        ) {
-+                                verbose => $DEBUG );
-+
-+            ### command was unsuccessful            
-+            unless( $out[0] ) { 
-             return $self->_error(loc(
-                             "Error listing contents of archive '%1': %2",
-                             $self->archive, $buffer ));
-@@ -578,7 +585,8 @@
-                                             \s+ [\d,.]+ \s tape \s blocks
-                                         |x ? $1 : $_);
- 
--                    } split $/, $buffer;
-+                        ### only STDOUT, see above
-+                        } map { split $/, $_ } @{$out[3]};     
- 
-             ### store the files that are in the archive ###
-             $self->files(\@files);
---- perl-5.10.0.orig/lib/Archive/Tar/File.pm
-+++ perl-5.10.0/lib/Archive/Tar/File.pm
-@@ -445,7 +445,14 @@
- 
-     ### don't know why this one is different from the one we /write/ ###
-     substr ($raw, 148, 8) = "        ";
--	return unpack ("%16C*", $raw) == $self->chksum ? 1 : 0;
-+
-+    ### bug #43513: [PATCH] Accept wrong checksums from SunOS and HP-UX tar
-+    ### like GNU tar does. See here for details:
-+    ### http://www.gnu.org/software/tar/manual/tar.html#SEC139
-+    ### so we do both a signed AND unsigned validate. if one succeeds, that's
-+    ### good enough
-+	return (   (unpack ("%16C*", $raw) == $self->chksum)
-+	        or (unpack ("%16c*", $raw) == $self->chksum)) ? 1 : 0;
- }
- 
- =head2 has_content
---- perl-5.10.0.orig/lib/Archive/Tar/t/04_resolved_issues.t
-+++ perl-5.10.0/lib/Archive/Tar/t/04_resolved_issues.t
-@@ -159,3 +159,27 @@
-     
- 
- }
-+
-+### return error properly on corrupted archives
-+### Addresses RT #44680: Improve error reporting on short corrupted archives
-+{   ok( 1,                      "Testing bug 44680" );
-+
-+    {   ### XXX whitebox test -- resetting the error string
-+        no warnings 'once'; 
-+        $Archive::Tar::error = "";
-+    }
-+
-+    my $src = File::Spec->catfile( qw[src short b] );
-+    my $tar = $Class->new;
-+    
-+    isa_ok( $tar, $Class,       "   Object" );
-+    
-+    
-+    ### we quell the error on STDERR
-+    local $Archive::Tar::WARN = 0;
-+
-+    ok( !$tar->read( $src ),    "   No files in the corrupted archive" );
-+    like( $tar->error, qr/enough bytes/,
-+                                "       Expected error reported" );
-+}
-+
---- perl-5.10.0.orig/ext/POSIX/POSIX.pm
-+++ perl-5.10.0/ext/POSIX/POSIX.pm
-@@ -13,7 +13,9 @@
- use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
- 	     F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
- 	     O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
--	     O_WRONLY);
-+	     O_WRONLY SEEK_CUR SEEK_END SEEK_SET
-+	     S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
-+	     S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
- 
- # Grandfather old foo_h form to new :foo_h form
- my $loaded;
---- perl-5.10.0.orig/ext/POSIX/Makefile.PL
-+++ perl-5.10.0/ext/POSIX/Makefile.PL
-@@ -48,13 +48,11 @@
-       MAX_INPUT MB_LEN_MAX MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK 
-       MSG_TRUNC MSG_WAITALL NAME_MAX NCCS NGROUPS_MAX NOFLSH OPEN_MAX OPOST
-       PARENB PARMRK PARODD PATH_MAX PIPE_BUF RAND_MAX R_OK SCHAR_MAX
--      SCHAR_MIN SEEK_CUR SEEK_END SEEK_SET SHRT_MAX SHRT_MIN SIGABRT SIGALRM
-+      SCHAR_MIN SHRT_MAX SHRT_MIN SIGABRT SIGALRM
-       SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT
-       SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
-       SIGUSR1 SIGUSR2 SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SSIZE_MAX
--      STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX
--      S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
--      S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR TCIFLUSH TCIOFF
-+      STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX TCIFLUSH TCIOFF
-       TCIOFLUSH TCION TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
-       TMP_MAX TOSTOP TZNAME_MAX VEOF VEOL VERASE VINTR VKILL VMIN VQUIT
-       VSTART VSTOP VSUSP VTIME WNOHANG WUNTRACED W_OK X_OK
---- perl-5.10.0.orig/ext/NDBM_File/NDBM_File.xs
-+++ perl-5.10.0/ext/NDBM_File/NDBM_File.xs
-@@ -1,7 +1,7 @@
- #include "EXTERN.h"
- #include "perl.h"
- #include "XSUB.h"
--#include <ndbm.h>
-+#include <gdbm-ndbm.h>
- 
- typedef struct {
- 	DBM * 	dbp ;
---- perl-5.10.0.orig/ext/NDBM_File/hints/linux.pl
-+++ perl-5.10.0/ext/NDBM_File/hints/linux.pl
-@@ -2,7 +2,4 @@
- # Prefer gdbm to avoid the broken ndbm in some distributions
- # (no null key support)
- # Jonathan Stowe <gellyfish@gellyfish.com>
--use Config;
--use ExtUtils::Liblist;
--($self->{LIBS}) = ExtUtils::Liblist->ext('-lgdbm -lgdbm_compat')
--	if $Config{libs} =~ /(?:^|\s)-lgdbm(?:\s|$)/;
-+$self->{LIBS} = ['-lgdbm_compat'];
---- perl-5.10.0.orig/ext/Data/Dumper/Dumper.pm
-+++ perl-5.10.0/ext/Data/Dumper/Dumper.pm
-@@ -65,7 +65,7 @@
- 
-   croak "Usage:  PACKAGE->new(ARRAYREF, [ARRAYREF])" 
-     unless (defined($v) && (ref($v) eq 'ARRAY'));
--  $n = [] unless (defined($n) && (ref($v) eq 'ARRAY'));
-+  $n = [] unless (defined($n) && (ref($n) eq 'ARRAY'));
- 
-   my($s) = { 
-              level      => 0,           # current recursive depth
---- perl-5.10.0.orig/ext/Compress/Raw/Zlib/config.in
-+++ perl-5.10.0/ext/Compress/Raw/Zlib/config.in
-@@ -16,9 +16,9 @@
- #    Setting the Gzip OS Code
- #
- 
--BUILD_ZLIB      = True
--INCLUDE         = ./zlib-src
--LIB             = ./zlib-src
-+BUILD_ZLIB      = False
-+INCLUDE         = /usr/include
-+LIB             = /usr/lib
- 
- OLD_ZLIB        = False
- GZIP_OS_CODE    = AUTO_DETECT
---- perl-5.10.0.orig/ext/Compress/Raw/Zlib/Zlib.xs
-+++ perl-5.10.0/ext/Compress/Raw/Zlib/Zlib.xs
-@@ -1295,7 +1295,7 @@
- 
-         if (s->stream.avail_out == 0 ) {
- 	    /* out of space in the output buffer so make it bigger */
--            Sv_Grow(output, SvLEN(output) + bufinc) ;
-+            Sv_Grow(output, SvLEN(output) + bufinc +1) ;
-             cur_length += increment ;
-             s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ;
-             increment = bufinc ;
---- perl-5.10.0.orig/ext/Errno/Errno_pm.PL
-+++ perl-5.10.0/ext/Errno/Errno_pm.PL
-@@ -337,13 +337,8 @@
- package Errno;
- our (\@EXPORT_OK,\%EXPORT_TAGS,\@ISA,\$VERSION,\%errno,\$AUTOLOAD);
- use Exporter ();
--use Config;
- use strict;
- 
--"\$Config{'archname'}-\$Config{'osvers'}" eq
--"$Config{'archname'}-$Config{'osvers'}" or
--	die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
--
- \$VERSION = "$VERSION";
- \$VERSION = eval \$VERSION;
- \@ISA = qw(Exporter);
---- perl-5.10.0.orig/ext/ODBM_File/hints/linux.pl
-+++ perl-5.10.0/ext/ODBM_File/hints/linux.pl
-@@ -1,8 +1,2 @@
- # uses GDBM dbm compatibility feature - at least on SuSE 8.0
--$self->{LIBS} = ['-lgdbm'];
--
--# Debian/Ubuntu have /usr/lib/libgdbm_compat.so.3* but not this file,
--# so linking may fail
--if (-e '/usr/lib/libgdbm_compat.so' or -e '/usr/lib64/libgdbm_compat.so') {
--    $self->{LIBS}->[0] .= ' -lgdbm_compat';
--}
-+$self->{LIBS} = ['-lgdbm_compat'];
---- perl-5.10.0.orig/ext/B/B/Deparse.pm
-+++ perl-5.10.0/ext/B/B/Deparse.pm
-@@ -1456,7 +1456,6 @@
- my %ignored_hints = (
-     'open<' => 1,
-     'open>' => 1,
--    'v_string' => 1,
-     );
- 
- sub declare_hinthash {
---- perl-5.10.0.orig/ext/DB_File/version.c
-+++ perl-5.10.0/ext/DB_File/version.c
-@@ -48,12 +48,14 @@
- 
-     (void)db_version(&Major, &Minor, &Patch) ;
- 
-+#ifndef DEBIAN
-     /* Check that the versions of db.h and libdb.a are the same */
-     if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR 
- 		|| Patch != DB_VERSION_PATCH)
- 	croak("\nDB_File needs compatible versions of libdb & db.h\n\tyou have db.h version %d.%d.%d and libdb version %d.%d.%d\n",  
- 		DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH, 
- 		Major, Minor, Patch) ;
-+#endif /* DEBIAN */
-     
-     /* check that libdb is recent enough  -- we need 2.3.4 or greater */
-     if (Major == 2 && (Minor < 3 || (Minor ==  3 && Patch < 4)))
---- perl-5.10.0.orig/ext/Sys/Syslog/Syslog.pm
-+++ perl-5.10.0/ext/Sys/Syslog/Syslog.pm
-@@ -741,7 +741,7 @@
- 
-     my $rin = '';
-     vec($rin, fileno(SYSLOG), 1) = 1;
--    my $ret = select $rin, undef, $rin, 0.25;
-+    my $ret = select $rin, undef, $rin, 0;
-     return ($ret ? 0 : 1);
- }
- 
---- perl-5.10.0.orig/ext/Sys/Syslog/t/syslog.t
-+++ perl-5.10.0/ext/Sys/Syslog/t/syslog.t
-@@ -189,6 +189,9 @@
-     skip "the 'unix' mechanism works, so the tests will likely fail with the 'stream' mechanism", 10 
-         if grep {/unix/} @passed;
- 
-+    skip "can't connect to Unix socket: _PATH_LOG unavailable", 10
-+      unless -e Sys::Syslog::_PATH_LOG();
-+
-     # setlogsock() with "stream" and an undef path
-     $r = eval { setlogsock("stream", undef ) } || '';
-     is( $@, '', "setlogsock() called, with 'stream' and an undef path" );
---- perl-5.10.0.orig/ext/PerlIO/via/via.xs
-+++ perl-5.10.0/ext/PerlIO/via/via.xs
-@@ -89,7 +89,7 @@
- 	    if (!s->fh) {
- 		GV *gv = newGVgen(HvNAME_get(s->stash));
- 		GvIOp(gv) = newIO();
--		s->fh = newRV_noinc((SV *) gv);
-+		s->fh = newRV((SV *) gv);
- 		s->io = GvIOp(gv);
- 	    }
- 	    IoIFP(s->io) = PerlIONext(f);
---- perl-5.10.0.orig/ext/Time/HiRes/t/HiRes.t
-+++ perl-5.10.0/ext/Time/HiRes/t/HiRes.t
-@@ -68,7 +68,7 @@
- 
- my $have_alarm = $Config{d_alarm};
- my $have_fork  = $Config{d_fork};
--my $waitfor = 180; # 30-45 seconds is normal (load affects this).
-+my $waitfor = 300; # 30-45 seconds is normal (load affects this).
- my $timer_pid;
- my $TheEnd;
- 
---- perl-5.10.0.orig/ext/IO/lib/IO/Socket/INET.pm
-+++ perl-5.10.0/ext/IO/lib/IO/Socket/INET.pm
-@@ -27,7 +27,7 @@
- 		  );
- my %proto_number;
- $proto_number{tcp}  = Socket::IPPROTO_TCP()  if defined &Socket::IPPROTO_TCP;
--$proto_number{upd}  = Socket::IPPROTO_UDP()  if defined &Socket::IPPROTO_UDP;
-+$proto_number{udp}  = Socket::IPPROTO_UDP()  if defined &Socket::IPPROTO_UDP;
- $proto_number{icmp} = Socket::IPPROTO_ICMP() if defined &Socket::IPPROTO_ICMP;
- my %proto_name = reverse %proto_number;
- 
---- perl-5.10.0.orig/ext/Encode/Encode.pm
-+++ perl-5.10.0/ext/Encode/Encode.pm
-@@ -734,7 +734,7 @@
- 
- =back
- 
--=Head2 coderef for CHECK
-+=head2 coderef for CHECK
- 
- As of Encode 2.12 CHECK can also be a code reference which takes the
- ord value of unmapped caharacter as an argument and returns a string
---- perl-5.10.0.orig/ext/Encode/bin/enc2xs
-+++ perl-5.10.0/ext/Encode/bin/enc2xs
-@@ -924,11 +924,11 @@
- sub find_e2x{
-     eval { require File::Find; };
-     my (@inc, %e2x_dir);
--    for my $inc (@INC){
-+    for my $inc (grep -d, @INC){
-     push @inc, $inc unless $inc eq '.'; #skip current dir
-     }
-     File::Find::find(
--         sub {
-+         { wanted => sub {
-          my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
-              $atime,$mtime,$ctime,$blksize,$blocks)
-              = lstat($_) or return;
-@@ -938,7 +938,7 @@
-              $e2x_dir{$File::Find::dir} ||= $mtime;
-          }
-          return;
--         }, @inc);
-+         }, follow => 1}, @inc);
-     warn join("\n", keys %e2x_dir), "\n";
-     for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
-     $_E2X = $d;
-@@ -1005,7 +1005,7 @@
- 	    $LocalMod{$enc} ||= $mod;
- 	}
-     };
--    File::Find::find({wanted => $wanted}, @INC);
-+    File::Find::find({wanted => $wanted, follow => 1}, grep -d, @INC);
-     $_ModLines = "";
-     for my $enc ( sort keys %LocalMod ) {
-         $_ModLines .=
---- perl-5.10.0.orig/utils/h2xs.PL
-+++ perl-5.10.0/utils/h2xs.PL
-@@ -901,6 +901,7 @@
- 
-         # Remove C and C++ comments
-         $src =~ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#$2#gs;
-+        $src =~ s#//.*$##gm;
- 
- 	while ($src =~ /\benum\s*([\w_]*)\s*\{\s([^}]+)\}/gsc) {
- 	    my ($enum_name, $enum_body) = ($1, $2);
-@@ -912,7 +913,7 @@
-                 my ($key, $declared_val) = $item =~ /(\w+)\s*(?:=\s*(.*))?/;
-                 $val = defined($declared_val) && length($declared_val) ? $declared_val : 1 + $val;
-                 $seen_define{$key} = $val;
--                $const_names{$key}++;
-+                $const_names{$key} = { name => $key, macro => 1 };
-             }
-         } # while (...)
-       } # if (!defined $opt_e or $opt_e)
-@@ -1076,7 +1077,14 @@
-     }
-   }
- }
--my @const_names = sort keys %const_names;
-+my (@const_specs, @const_names);
-+
-+for (sort(keys(%const_names))) {
-+    my $v = $const_names{$_};
-+    
-+    push(@const_specs, ref($v) ? $v : $_);
-+    push(@const_names, $_);
-+}
- 
- -d $modpmdir || mkpath([$modpmdir], 0, 0775);
- open(PM, ">$modpmname") || die "Can't create $ext$modpname/$modpmname: $!\n";
-@@ -1465,7 +1473,7 @@
-                    XS_FILE =>      $xsfallback,
-                    DEFAULT_TYPE => $opt_t,
-                    NAME =>         $module,
--                   NAMES =>        \@const_names,
-+                   NAMES =>        \@const_specs,
-                  );
-   print XS "#include \"$constscfname\"\n";
- }
-@@ -1950,7 +1958,7 @@
-                            XS_FILE =>      $constsxsfname,
-                            DEFAULT_TYPE => $opt_t,
-                            NAME =>         $module,
--                           NAMES =>        \@const_names,
-+                           NAMES =>        \@const_specs,
-                  );
-   print PL <<"END";
- if  (eval {require ExtUtils::Constant; 1}) {
---- perl-5.10.0.orig/utils/perlivp.PL
-+++ perl-5.10.0/utils/perlivp.PL
-@@ -142,6 +142,7 @@
- my $INC_there = 0;
- foreach (@INC) {
-     next if $_ eq '.'; # skip -d test here
-+    next if m|/usr/local|;
-     if ($^O eq 'MacOS') {
-         next if $_ eq ':'; # skip -d test here
-         next if $_ eq 'Dev:Pseudo:'; # why is this in @INC?
---- perl-5.10.0.orig/utils/h2ph.PL
-+++ perl-5.10.0/utils/h2ph.PL
-@@ -85,7 +85,7 @@
- }
- 
- my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
--my ($incl, $incl_type, $next);
-+my ($incl, $incl_type, $incl_quote, $next);
- while (defined (my $file = next_file())) {
-     if (-l $file and -d $file) {
-         link_if_possible($file) if ($opt_l);
-@@ -123,7 +123,7 @@
- 
-     print OUT
-         "require '_h2ph_pre.ph';\n\n",
--        "no warnings 'redefine';\n\n";
-+        "no warnings qw(redefine misc);\n\n";
- 
-     while (defined (local $_ = next_line($file))) {
- 	if (s/^\s*\#\s*//) {
-@@ -186,9 +186,10 @@
-                       print OUT $t,"unless(defined(\&$name)) {\n    sub $name () {\t",$new,";}\n}\n";
- 		    }
- 		}
--	    } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) {
-+	    } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
-                 $incl_type = $1;
--                $incl = $2;
-+                $incl_quote = $2;
-+                $incl = $3;
-                 if (($incl_type eq 'include_next') ||
-                     ($opt_e && exists($bad_file{$incl}))) {
-                     $incl =~ s/\.h$/.ph/;
-@@ -221,6 +222,10 @@
- 			   "warn(\$\@) if \$\@;\n");
-                 } else {
-                     $incl =~ s/\.h$/.ph/;
-+                    # copy the prefix in the quote syntax (#include "x.h") case
-+                    if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~ m|^(.*)/|) {
-+                        $incl = "$1/$incl";
-+                    }
- 		    print OUT $t,"require '$incl';\n";
-                 }
- 	    } elsif (/^ifdef\s+(\w+)/) {
-@@ -724,8 +729,13 @@
-                 $line .= <HEADER>;
-             }
- 
--            if ($line =~ /^#\s*include\s+<(.*?)>/) {
--                push(@ARGV, $1) unless $Is_converted{$1};
-+            if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) {
-+                my ($delimiter, $new_file) = ($1, $2);
-+                # copy the prefix in the quote syntax (#include "x.h") case
-+                if ($delimiter eq q{"} && $file =~ m|^(.*)/|) {
-+                    $new_file = "$1/$new_file";
-+                }
-+                push(@ARGV, $new_file) unless $Is_converted{$new_file};
-             }
-         }
-     close HEADER;
-@@ -733,7 +743,7 @@
- 
- 
- # Determine include directories; $Config{usrinc} should be enough for (all
--# non-GCC?) C compilers, but gcc uses an additional include directory.
-+# non-GCC?) C compilers, but gcc uses additional include directories.
- sub inc_dirs
- {
-     my $from_gcc    = `LC_ALL=C $Config{cc} -v 2>&1`;
-@@ -745,7 +755,7 @@
-            $from_gcc = '';
-        };
-     };
--    length($from_gcc) ? ($from_gcc, $Config{usrinc}) : ($Config{usrinc});
-+    length($from_gcc) ? ($from_gcc, $from_gcc . "-fixed", $Config{usrinc}) : ($Config{usrinc});
- }
- 
- 
---- perl-5.10.0.orig/pod/perldoc.pod
-+++ perl-5.10.0/pod/perldoc.pod
-@@ -222,6 +222,10 @@
- even more descriptive output than the C<-v> switch does -- the higher the
- number, the more it emits.
- 
-+=head1 SEE ALSO
-+
-+L<perlpod>, L<Pod::Perldoc>
-+
- =head1 AUTHOR
- 
- Current maintainer: Sean M. Burke, <sburke@cpan.org>
---- perl-5.10.0.orig/pod/perlapi.pod
-+++ perl-5.10.0/pod/perlapi.pod
-@@ -1193,6 +1193,50 @@
- 
- =back
- 
-+=head1 Functions in file perl.h
-+
-+
-+=over 8
-+
-+=item PERL_SYS_INIT
-+X<PERL_SYS_INIT>
-+
-+Provides system-specific tune up of the C runtime environment necessary to
-+run Perl interpreters. This should be called only once, before creating
-+any Perl interpreters.
-+
-+	void	PERL_SYS_INIT(int argc, char** argv)
-+
-+=for hackers
-+Found in file perl.h
-+
-+=item PERL_SYS_INIT3
-+X<PERL_SYS_INIT3>
-+
-+Provides system-specific tune up of the C runtime environment necessary to
-+run Perl interpreters. This should be called only once, before creating
-+any Perl interpreters.
-+
-+	void	PERL_SYS_INIT3(int argc, char** argv, char** env)
-+
-+=for hackers
-+Found in file perl.h
-+
-+=item PERL_SYS_TERM
-+X<PERL_SYS_TERM>
-+
-+Provides system-specific clean up of the C runtime environment after
-+running Perl interpreters. This should be called only once, after
-+freeing any remaining Perl interpreters.
-+
-+	void	PERL_SYS_TERM()
-+
-+=for hackers
-+Found in file perl.h
-+
-+
-+=back
-+
- =head1 Functions in file pp_ctl.c
- 
- 
---- perl-5.10.0.orig/pod/perlpodspec.pod
-+++ perl-5.10.0/pod/perlpodspec.pod
-@@ -338,7 +338,7 @@
- before any non-US-ASCII data!), declares that this document is
- encoded in the encoding I<encodingname>, which must be
- an encoding name that L<Encoding> recognizes.  (Encoding's list
--of supported encodings, in L<Encoding::Supported>, is useful here.)
-+of supported encodings, in L<Encode::Supported>, is useful here.)
- If the Pod parser cannot decode the declared encoding, it 
- should emit a warning and may abort parsing the document
- altogether.
---- perl-5.10.0.orig/pod/pod2man.PL
-+++ perl-5.10.0/pod/pod2man.PL
-@@ -36,9 +36,9 @@
- print OUT <<'!NO!SUBS!';
- 
- # pod2man -- Convert POD data to formatted *roff input.
--# $Id: pod2man.PL,v 1.16 2006-01-21 01:53:55 eagle Exp $
- #
--# Copyright 1999, 2000, 2001, 2004, 2006 by Russ Allbery <rra@stanford.edu>
-+# Copyright 1999, 2000, 2001, 2004, 2006, 2008
-+#     Russ Allbery <rra@stanford.edu>
- #
- # This program is free software; you may redistribute it and/or modify it
- # under the same terms as Perl itself.
-@@ -66,7 +66,7 @@
- GetOptions (\%options, 'section|s=s', 'release|r:s', 'center|c=s',
-             'date|d=s', 'fixed=s', 'fixedbold=s', 'fixeditalic=s',
-             'fixedbolditalic=s', 'name|n=s', 'official|o', 'quotes|q=s',
--            'lax|l', 'help|h', 'verbose|v') or exit 1;
-+            'lax|l', 'help|h', 'verbose|v', 'utf8|u') or exit 1;
- pod2usage (0) if $options{help};
- 
- # Official sets --center, but don't override things explicitly set.
-@@ -104,7 +104,7 @@
- [B<--center>=I<string>] [B<--date>=I<string>] [B<--fixed>=I<font>]
- [B<--fixedbold>=I<font>] [B<--fixeditalic>=I<font>]
- [B<--fixedbolditalic>=I<font>] [B<--name>=I<name>] [B<--official>]
--[B<--lax>] [B<--quotes>=I<quotes>] [B<--verbose>]
-+[B<--lax>] [B<--quotes>=I<quotes>] [B<--utf8>] [B<--verbose>]
- [I<input> [I<output>] ...]
- 
- pod2man B<--help>
-@@ -243,6 +243,28 @@
- By default, section 1 will be used unless the file ends in .pm in which case
- section 3 will be selected.
- 
-+=item B<-u>, B<--utf8>
-+
-+By default, B<pod2man> produces the most conservative possible *roff
-+output to try to ensure that it will work with as many different *roff
-+implementations as possible.  Many *roff implementations cannot handle
-+non-ASCII characters, so this means all non-ASCII characters are converted
-+either to a *roff escape sequence that tries to create a properly accented
-+character (at least for troff output) or to C<X>.
-+
-+This option says to instead output literal UTF-8 characters.  If your
-+*roff implementation can handle it, this is the best output format to use
-+and avoids corruption of documents containing non-ASCII characters.
-+However, be warned that *roff source with literal UTF-8 characters is not
-+supported by many implementations and may even result in segfaults and
-+other bad behavior.
-+
-+Be aware that, when using this option, the input encoding of your POD
-+source must be properly declared unless it is US-ASCII or Latin-1.  POD
-+input without an C<=encoding> command will be assumed to be in Latin-1,
-+and if it's actually in UTF-8, the output will be double-encoded.  See
-+L<perlpod(1)> for more information on the C<=encoding> command.
-+
- =item B<-v>, B<--verbose>
- 
- Print out the name of each output file as it is being generated.
-@@ -518,8 +540,8 @@
- 
- =head1 SEE ALSO
- 
--L<Pod::Man>, L<Pod::Simple>, L<man(1)>, L<nroff(1)>, L<podchecker(1)>,
--L<troff(1)>, L<man(7)>
-+L<Pod::Man>, L<Pod::Simple>, L<man(1)>, L<nroff(1)>, L<perlpod(1)>,
-+L<podchecker(1)>, L<troff(1)>, L<man(7)>
- 
- The man page documenting the an macro set may be L<man(5)> instead of
- L<man(7)> on your system.
-@@ -537,7 +559,8 @@
- 
- =head1 COPYRIGHT AND LICENSE
- 
--Copyright 1999, 2000, 2001, 2004, 2006 by Russ Allbery <rra@stanford.edu>.
-+Copyright 1999, 2000, 2001, 2004, 2006, 2008 Russ Allbery
-+<rra@stanford.edu>.
- 
- This program is free software; you may redistribute it and/or modify it
- under the same terms as Perl itself.
---- perl-5.10.0.orig/pod/perlre.pod
-+++ perl-5.10.0/pod/perlre.pod
-@@ -102,7 +102,7 @@
- 
- =head3 Metacharacters
- 
--The patterns used in Perl pattern matching evolved from the ones supplied in
-+The patterns used in Perl pattern matching evolved from those supplied in
- the Version 8 regex routines.  (The routines are derived
- (distantly) from Henry Spencer's freely redistributable reimplementation
- of the V8 routines.)  See L<Version 8 Regular Expressions> for
---- perl-5.10.0.orig/pod/perlxs.pod
-+++ perl-5.10.0/pod/perlxs.pod
-@@ -1212,6 +1212,12 @@
- 
-     VERSIONCHECK: DISABLE
- 
-+Note that if the version of the PM module is an NV (a floating point
-+number), it will be stringified with a possible loss of precision
-+(currently chopping to nine decimal places) so that it may not match
-+the version of the XS module anymore. Quoting the $VERSION declaration
-+to make it a string is recommended if long version numbers are used.
-+
- =head2 The PROTOTYPES: Keyword
- 
- The PROTOTYPES: keyword corresponds to B<xsubpp>'s C<-prototypes> and
---- perl-5.10.0.orig/pod/perlembed.pod
-+++ perl-5.10.0/pod/perlembed.pod
-@@ -196,11 +196,20 @@
- 
- Notice that we don't use the C<env> pointer.  Normally handed to
- C<perl_parse> as its final argument, C<env> here is replaced by
--C<NULL>, which means that the current environment will be used.  The macros
--PERL_SYS_INIT3() and PERL_SYS_TERM() provide system-specific tune up 
--of the C runtime environment necessary to run Perl interpreters; since
--PERL_SYS_INIT3() may change C<env>, it may be more appropriate to provide
--C<env> as an argument to perl_parse().
-+C<NULL>, which means that the current environment will be used.
-+
-+The macros PERL_SYS_INIT3() and PERL_SYS_TERM() provide system-specific
-+tune up of the C runtime environment necessary to run Perl interpreters;
-+they should only be called once regardless of how many interpreters you
-+create or destroy. Call PERL_SYS_INIT3() before you create your first
-+interpreter, and PERL_SYS_TERM() after you free your last interpreter.
-+
-+Since PERL_SYS_INIT3() may change C<env>, it may be more appropriate to
-+provide C<env> as an argument to perl_parse().
-+
-+Also notice that no matter what arguments you pass to perl_parse(),
-+PERL_SYS_INIT3() must be invoked on the C main() argc, argv and env and
-+only once.
- 
- Now compile this program (I'll call it I<interp.c>) into an executable:
- 
---- perl-5.10.0.orig/pod/perlfunc.pod
-+++ perl-5.10.0/pod/perlfunc.pod
-@@ -1556,6 +1556,10 @@
- is implemented.  It is also Perl's exception trapping mechanism, where
- the die operator is used to raise exceptions.
- 
-+If you want to trap errors when loading an XS module, some problems with
-+the binary interface (such as Perl version skew) may be fatal even with
-+C<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set. See L<perlrun>.
-+
- If the code to be executed doesn't vary, you may use the eval-BLOCK
- form to trap run-time errors without incurring the penalty of
- recompiling each time.  The error, if any, is still returned in C<$@>.
-@@ -5214,7 +5218,7 @@
- limited control of the sort.  Its rather blunt control of the
- underlying algorithm may not persist into future Perls, but the
- ability to characterize the input or output in implementation
--independent ways quite probably will.  See L<sort>.
-+independent ways quite probably will.  See L<the sort pragma|sort>.
- 
- Examples:
- 
-@@ -6855,22 +6859,16 @@
- 
- Specifying VERSION as a literal of the form v5.6.1 should generally be
- avoided, because it leads to misleading error messages under earlier
--versions of Perl that do not support this syntax.  The equivalent numeric
--version should be used instead.
--
--Alternatively, you can use a numeric version C<use 5.006> followed by a
--v-string version like C<use v5.10.1>, to avoid the unintuitive C<use
--5.010_001>. (older perl versions fail gracefully at the first C<use>,
--later perl versions understand the v-string syntax in the second).
-+versions of Perl (that is, prior to 5.6.0) that do not support this
-+syntax.  The equivalent numeric version should be used instead.
- 
-     use v5.6.1;		# compile time version check
-     use 5.6.1;		# ditto
-     use 5.006_001;	# ditto; preferred for backwards compatibility
--    use 5.006; use 5.6.1;	# ditto, for compatibility and readability
- 
- This is often useful if you need to check the current Perl version before
--C<use>ing library modules that have changed in incompatible ways from
--older versions of Perl.  (We try not to do this more than we have to.)
-+C<use>ing library modules that won't work with older versions of Perl.
-+(We try not to do this more than we have to.)
- 
- Also, if the specified perl version is greater than or equal to 5.9.5,
- C<use VERSION> will also load the C<feature> pragma and enable all
---- perl-5.10.0.orig/pod/perldiag.pod
-+++ perl-5.10.0/pod/perldiag.pod
-@@ -4935,18 +4935,6 @@
- (W misc) The version string contains invalid characters at the end, which
- are being ignored.
- 
--=item v-string in use/require is non-portable
--
--(W portable) The use of v-strings is non-portable to older, pre-5.6, Perls.
--If you want your scripts to be backward portable, use the floating
--point version number: for example, instead of C<use 5.6.1> say
--C<use 5.006_001>. This of course won't make older Perls suddenly start
--understanding newer features, but at least they will show a sensible
--error message indicating the required minimum version.
--
--This warning is suppressed if the C<use 5.x.y> is preceded by a
--C<use 5.006> (see C<use VERSION> in L<perlfunc/use>).
--
- =item Warning: something's wrong
- 
- (W) You passed warn() an empty string (the equivalent of C<warn "">) or
---- perl-5.10.0.orig/pod/perllol.pod
-+++ perl-5.10.0/pod/perllol.pod
-@@ -276,7 +276,7 @@
- 
-     @newAoA = map { [ @{ $AoA[$_] } [ 7..12 ] ] } 4 .. 8;
- 
--Although if your manager accused of seeking job security (or rapid
-+Although if your manager accused you of seeking job security (or rapid
- insecurity) through inscrutable code, it would be hard to argue. :-)
- If I were you, I'd put that in a function:
- 
-
-- 
cgit v1.2.3-70-g09d2