Mercurial > vim
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 |