@@ -7213,16 +7213,17 @@ Perl_yylex(pTHX)
7213
7213
return yyl_verticalbar (aTHX_ s );
7214
7214
7215
7215
case '=' :
7216
+ if (s [1 ] == '=' && (s == PL_linestart || s [-1 ] == '\n' )
7217
+ && memBEGINs (s + 2 , (STRLEN ) (PL_bufend - s + 2 ), "=====" ))
7218
+ {
7219
+ s = vcs_conflict_marker (s + 7 );
7220
+ goto retry ;
7221
+ }
7222
+
7216
7223
s ++ ;
7217
7224
{
7218
7225
const char tmp = * s ++ ;
7219
7226
if (tmp == '=' ) {
7220
- if ( (s == PL_linestart + 2 || s [-3 ] == '\n' )
7221
- && memBEGINs (s , (STRLEN ) (PL_bufend - s ), "=====" ))
7222
- {
7223
- s = vcs_conflict_marker (s + 5 );
7224
- goto retry ;
7225
- }
7226
7227
if (!PL_lex_allbrackets
7227
7228
&& PL_lex_fakeeof >= LEX_FAKEEOF_COMPARE )
7228
7229
{
@@ -7307,18 +7308,18 @@ Perl_yylex(pTHX)
7307
7308
return yyl_bang (aTHX_ s + 1 );
7308
7309
7309
7310
case '<' :
7311
+ if (s [1 ] == '<' && (s == PL_linestart || s [-1 ] == '\n' )
7312
+ && memBEGINs (s + 2 , (STRLEN ) (PL_bufend - (s + 2 )), "<<<<<" ))
7313
+ {
7314
+ s = vcs_conflict_marker (s + 7 );
7315
+ goto retry ;
7316
+ }
7317
+
7310
7318
if (PL_expect != XOPERATOR ) {
7311
7319
if (s [1 ] != '<' && !memchr (s ,'>' , PL_bufend - s ))
7312
7320
check_uni ();
7313
- if (s [1 ] == '<' && s [2 ] != '>' ) {
7314
- if ( (s == PL_linestart || s [-1 ] == '\n' )
7315
- && memBEGINs (s + 2 , (STRLEN ) (PL_bufend - (s + 2 )), "<<<<<" ))
7316
- {
7317
- s = vcs_conflict_marker (s + 7 );
7318
- goto retry ;
7319
- }
7321
+ if (s [1 ] == '<' && s [2 ] != '>' )
7320
7322
s = scan_heredoc (s );
7321
- }
7322
7323
else
7323
7324
s = scan_inputsymbol (s );
7324
7325
PL_expect = XOPERATOR ;
@@ -7328,12 +7329,6 @@ Perl_yylex(pTHX)
7328
7329
{
7329
7330
char tmp = * s ++ ;
7330
7331
if (tmp == '<' ) {
7331
- if ( (s == PL_linestart + 2 || s [-3 ] == '\n' )
7332
- && memBEGINs (s , (STRLEN ) (PL_bufend - s ), "<<<<<" ))
7333
- {
7334
- s = vcs_conflict_marker (s + 5 );
7335
- goto retry ;
7336
- }
7337
7332
if (* s == '=' && !PL_lex_allbrackets
7338
7333
&& PL_lex_fakeeof >= LEX_FAKEEOF_ASSIGN )
7339
7334
{
@@ -7369,17 +7364,19 @@ Perl_yylex(pTHX)
7369
7364
TOKEN (0 );
7370
7365
}
7371
7366
Rop (OP_LT );
7367
+
7372
7368
case '>' :
7369
+ if (s [1 ] == '>' && (s == PL_linestart || s [-1 ] == '\n' )
7370
+ && memBEGINs (s + 2 , (STRLEN ) (PL_bufend - s + 2 ), ">>>>>" ))
7371
+ {
7372
+ s = vcs_conflict_marker (s + 7 );
7373
+ goto retry ;
7374
+ }
7375
+
7373
7376
s ++ ;
7374
7377
{
7375
7378
const char tmp = * s ++ ;
7376
7379
if (tmp == '>' ) {
7377
- if ( (s == PL_linestart + 2 || s [-3 ] == '\n' )
7378
- && memBEGINs (s , (STRLEN ) (PL_bufend - s ), ">>>>>" ))
7379
- {
7380
- s = vcs_conflict_marker (s + 5 );
7381
- goto retry ;
7382
- }
7383
7380
if (* s == '=' && !PL_lex_allbrackets
7384
7381
&& PL_lex_fakeeof >= LEX_FAKEEOF_ASSIGN )
7385
7382
{
0 commit comments