comparison src/regexp.c @ 1018:d3cff90680f3 v7.0.144

updated for version 7.0-144
author vimboss
date Tue, 17 Oct 2006 16:48:26 +0000
parents b2dcb8457067
children e1dc2698121c
comparison
equal deleted inserted replaced
1017:0d31f8a78ab3 1018:d3cff90680f3
3775 #endif 3775 #endif
3776 next = regnext(scan); 3776 next = regnext(scan);
3777 3777
3778 op = OP(scan); 3778 op = OP(scan);
3779 /* Check for character class with NL added. */ 3779 /* Check for character class with NL added. */
3780 if (!reg_line_lbr && WITH_NL(op) && *reginput == NUL 3780 if (!reg_line_lbr && WITH_NL(op) && REG_MULTI
3781 && reglnum <= reg_maxline) 3781 && *reginput == NUL && reglnum <= reg_maxline)
3782 { 3782 {
3783 reg_nextline(); 3783 reg_nextline();
3784 } 3784 }
3785 else if (reg_line_lbr && WITH_NL(op) && *reginput == '\n') 3785 else if (reg_line_lbr && WITH_NL(op) && *reginput == '\n')
3786 { 3786 {
4853 else if (behind_pos.rs_u.ptr != reginput) 4853 else if (behind_pos.rs_u.ptr != reginput)
4854 status = RA_NOMATCH; 4854 status = RA_NOMATCH;
4855 break; 4855 break;
4856 4856
4857 case NEWL: 4857 case NEWL:
4858 if ((c != NUL || reglnum > reg_maxline || reg_line_lbr) 4858 if ((c != NUL || !REG_MULTI || reglnum > reg_maxline
4859 && (c != '\n' || !reg_line_lbr)) 4859 || reg_line_lbr) && (c != '\n' || !reg_line_lbr))
4860 status = RA_NOMATCH; 4860 status = RA_NOMATCH;
4861 else if (reg_line_lbr) 4861 else if (reg_line_lbr)
4862 ADVANCE_REGINPUT(); 4862 ADVANCE_REGINPUT();
4863 else 4863 else
4864 reg_nextline(); 4864 reg_nextline();
5314 while (*scan != NUL && count < maxcount) 5314 while (*scan != NUL && count < maxcount)
5315 { 5315 {
5316 ++count; 5316 ++count;
5317 mb_ptr_adv(scan); 5317 mb_ptr_adv(scan);
5318 } 5318 }
5319 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr 5319 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5320 || count == maxcount) 5320 || reg_line_lbr || count == maxcount)
5321 break; 5321 break;
5322 ++count; /* count the line-break */ 5322 ++count; /* count the line-break */
5323 reg_nextline(); 5323 reg_nextline();
5324 scan = reginput; 5324 scan = reginput;
5325 if (got_int) 5325 if (got_int)
5339 { 5339 {
5340 mb_ptr_adv(scan); 5340 mb_ptr_adv(scan);
5341 } 5341 }
5342 else if (*scan == NUL) 5342 else if (*scan == NUL)
5343 { 5343 {
5344 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr) 5344 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5345 || reg_line_lbr)
5345 break; 5346 break;
5346 reg_nextline(); 5347 reg_nextline();
5347 scan = reginput; 5348 scan = reginput;
5348 if (got_int) 5349 if (got_int)
5349 break; 5350 break;
5368 { 5369 {
5369 mb_ptr_adv(scan); 5370 mb_ptr_adv(scan);
5370 } 5371 }
5371 else if (*scan == NUL) 5372 else if (*scan == NUL)
5372 { 5373 {
5373 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr) 5374 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5375 || reg_line_lbr)
5374 break; 5376 break;
5375 reg_nextline(); 5377 reg_nextline();
5376 scan = reginput; 5378 scan = reginput;
5377 if (got_int) 5379 if (got_int)
5378 break; 5380 break;
5397 { 5399 {
5398 mb_ptr_adv(scan); 5400 mb_ptr_adv(scan);
5399 } 5401 }
5400 else if (*scan == NUL) 5402 else if (*scan == NUL)
5401 { 5403 {
5402 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr) 5404 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5405 || reg_line_lbr)
5403 break; 5406 break;
5404 reg_nextline(); 5407 reg_nextline();
5405 scan = reginput; 5408 scan = reginput;
5406 if (got_int) 5409 if (got_int)
5407 break; 5410 break;
5422 case SPRINT + ADD_NL: 5425 case SPRINT + ADD_NL:
5423 while (count < maxcount) 5426 while (count < maxcount)
5424 { 5427 {
5425 if (*scan == NUL) 5428 if (*scan == NUL)
5426 { 5429 {
5427 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr) 5430 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5431 || reg_line_lbr)
5428 break; 5432 break;
5429 reg_nextline(); 5433 reg_nextline();
5430 scan = reginput; 5434 scan = reginput;
5431 if (got_int) 5435 if (got_int)
5432 break; 5436 break;
5452 #ifdef FEAT_MBYTE 5456 #ifdef FEAT_MBYTE
5453 int l; 5457 int l;
5454 #endif 5458 #endif
5455 if (*scan == NUL) 5459 if (*scan == NUL)
5456 { 5460 {
5457 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr) 5461 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5462 || reg_line_lbr)
5458 break; 5463 break;
5459 reg_nextline(); 5464 reg_nextline();
5460 scan = reginput; 5465 scan = reginput;
5461 if (got_int) 5466 if (got_int)
5462 break; 5467 break;
5615 #ifdef FEAT_MBYTE 5620 #ifdef FEAT_MBYTE
5616 int len; 5621 int len;
5617 #endif 5622 #endif
5618 if (*scan == NUL) 5623 if (*scan == NUL)
5619 { 5624 {
5620 if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr) 5625 if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
5626 || reg_line_lbr)
5621 break; 5627 break;
5622 reg_nextline(); 5628 reg_nextline();
5623 scan = reginput; 5629 scan = reginput;
5624 if (got_int) 5630 if (got_int)
5625 break; 5631 break;
5644 } 5650 }
5645 break; 5651 break;
5646 5652
5647 case NEWL: 5653 case NEWL:
5648 while (count < maxcount 5654 while (count < maxcount
5649 && ((*scan == NUL && reglnum <= reg_maxline && !reg_line_lbr) 5655 && ((*scan == NUL && reglnum <= reg_maxline && !reg_line_lbr
5650 || (*scan == '\n' && reg_line_lbr))) 5656 && REG_MULTI) || (*scan == '\n' && reg_line_lbr)))
5651 { 5657 {
5652 count++; 5658 count++;
5653 if (reg_line_lbr) 5659 if (reg_line_lbr)
5654 ADVANCE_REGINPUT(); 5660 ADVANCE_REGINPUT();
5655 else 5661 else