head	1.4;
access;
symbols
	RELEASE_8_3_0:1.3
	RELEASE_9_0_0:1.1
	RELEASE_7_4_0:1.1
	RELEASE_8_2_0:1.1
	RELEASE_6_EOL:1.1
	RELEASE_8_1_0:1.1;
locks; strict;
comment	@# @;


1.4
date	2013.02.04.12.03.36;	author svnexp;	state dead;
branches;
next	1.3;

1.3
date	2012.03.11.23.49.09;	author linimon;	state Exp;
branches;
next	1.2;

1.2
date	2012.03.08.18.37.54;	author pgollucci;	state dead;
branches;
next	1.1;

1.1
date	2010.05.06.17.05.45;	author skv;	state Exp;
branches;
next	;


desc
@@


1.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/311580
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@# http://rt.perl.org/rt3//Public/Bug/Display.html?id=69973
# http://perl5.git.perl.org/perl.git/commitdiff_plain/0abd0d78a73da1c4d13b1c700526b7e5d03b32d4?hp=fe88edf0c4ada4230b84bdb5417029b8f766694a
diff --git a/ext/re/t/regop.t b/ext/re/t/regop.t
index 9118bf6..46e6ec0 100644
--- ext/re/t/regop.t
+++ ext/re/t/regop.t
@@@@ -231,12 +231,12 @@@@ anchored "ABC" at 0
 #Freeing REx: "(\\.COM|\\.EXE|\\.BAT|\\.CMD|\\.VBS|\\.VBE|\\.JS|\\.JSE|\\."......
 %MATCHED%
 floating ""$ at 3..4 (checking floating)
-1:1[1] 3:2[1] 5:2[64] 45:83[1] 47:84[1] 48:85[0]
-stclass EXACTF <.> minlen 3
-Found floating substr ""$ at offset 30...
-Does not contradict STCLASS...
-Guessed: match at offset 26
-Matching stclass EXACTF <.> against ".exe"
+#1:1[1] 3:2[1] 5:2[64] 45:83[1] 47:84[1] 48:85[0]
+#stclass EXACTF <.> minlen 3
+#Found floating substr ""$ at offset 30...
+#Does not contradict STCLASS...
+#Guessed: match at offset 26
+#Matching stclass EXACTF <.> against ".exe"
 ---
 #Compiling REx "[q]"
 #size 12 nodes Got 100 bytes for offset annotations.
diff --git a/regcomp.c b/regcomp.c
index 6e9fa26..eb5f12f 100644
--- regcomp.c
+++ regcomp.c
@@@@ -2833,13 +2833,18 @@@@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
                                 }
                             } else {
 /* 
-    Currently we assume that the trie can handle unicode and ascii
-    matches fold cased matches. If this proves true then the following
-    define will prevent tries in this situation. 
-    
-    #define TRIE_TYPE_IS_SAFE (UTF || optype==EXACT)
-*/
+    Currently we do not believe that the trie logic can
+    handle case insensitive matching properly when the
+    pattern is not unicode (thus forcing unicode semantics).
+
+    If/when this is fixed the following define can be swapped
+    in below to fully enable trie logic.
+
 #define TRIE_TYPE_IS_SAFE 1
+
+*/
+#define TRIE_TYPE_IS_SAFE (UTF || optype==EXACT)
+
                                 if ( last && TRIE_TYPE_IS_SAFE ) {
                                     make_trie( pRExC_state, 
                                             startbranch, first, cur, tail, count, 
diff --git a/regexec.c b/regexec.c
index 402ede3..ec09c28 100644
--- regexec.c
+++ regexec.c
@@@@ -1105,16 +1105,15 @@@@ Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV *sv, char *strpos,
 
 #define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len,  \
 uvc, charid, foldlen, foldbuf, uniflags) STMT_START {                       \
-    UV uvc_unfolded = 0;						    \
     switch (trie_type) {                                                    \
     case trie_utf8_fold:                                                    \
 	if ( foldlen>0 ) {                                                  \
-	    uvc_unfolded = uvc = utf8n_to_uvuni( uscan, UTF8_MAXLEN, &len, uniflags ); \
+	    uvc = utf8n_to_uvuni( uscan, UTF8_MAXLEN, &len, uniflags ); \
 	    foldlen -= len;                                                 \
 	    uscan += len;                                                   \
 	    len=0;                                                          \
 	} else {                                                            \
-	    uvc_unfolded = uvc = utf8n_to_uvuni( (U8*)uc, UTF8_MAXLEN, &len, uniflags ); \
+	    uvc = utf8n_to_uvuni( (U8*)uc, UTF8_MAXLEN, &len, uniflags ); \
 	    uvc = to_uni_fold( uvc, foldbuf, &foldlen );                    \
 	    foldlen -= UNISKIP( uvc );                                      \
 	    uscan = foldbuf + UNISKIP( uvc );                               \
@@@@ -1140,7 +1139,6 @@@@ uvc, charid, foldlen, foldbuf, uniflags) STMT_START {                       \
 	uvc = (UV)*uc;                                                      \
 	len = 1;                                                            \
     }                                                                       \
-									    \
     if (uvc < 256) {                                                        \
 	charid = trie->charmap[ uvc ];                                      \
     }                                                                       \
@@@@ -1153,9 +1151,6 @@@@ uvc, charid, foldlen, foldbuf, uniflags) STMT_START {                       \
 		charid = (U16)SvIV(*svpp);                                  \
 	}                                                                   \
     }                                                                       \
-    if (!charid && trie_type == trie_utf8_fold && !UTF) {		    \
-	charid = trie->charmap[uvc_unfolded];			    	    \
-    }								    	    \
 } STMT_END
 
 #define REXEC_FBC_EXACTISH_CHECK(CoNd)                 \
@


1.3
log
@Undo ports/165457 to not violate POLA.  As far as I knew, the PR
was to test what happened when we did eventually delete these two
ports, not to delete them immediately.

A subsequent commit will add appropriate deprecation messages.

Hat:		portmgr
PR:		ports/165457
Feature safe:	yes (actually no, however, this is to preserve POLA)
@
text
@@


1.2
log
@- Remove lang/perl5.8 (12/16/2008 EOL) and lang/perl5.10 (08/23/2009 EOL)
- lang/5.12 (default) is in Maint mode and lang/5.14 is GA right now.
- The final UNcommitted portition of this PR will move the default perl
  to lang/perl5.14 but
    mail/cyrus-impad2
    mail/cyrus-impad22
    print/perlftlib
    audio/papcl
    www/WebMagick
    misc/gcstar
    math/ploymak
  must be fixed or marked BROKEN 1st.

PR:             ports/165457
Submitted by:   pgollucci (myself)
Approved by:    portmgr (linimon)
Exp Run by:     linimon
Tested by:      make index
@
text
@@


1.1
log
@- Add patches for RT 69973 [1], RT 71952 [2]
- Update P5PORTER mode [3]
- Update CONFLICTS for Perl 5.12

Pointed by:	a.smith xx ukgrid.net [1]
PR:		ports/144717 [2], ports/142110 [3]
Submitted by:	Bryan Fullerton <bryanf@@samuraiconsulting.ca> [2],
		Alex Deiter <alex.deiter xx gmail.com> [3]
@
text
@@

