Mercurial > vim
comparison src/regexp.c @ 9015:42b228c8701b v7.4.1793
commit https://github.com/vim/vim/commit/e8aee7dcf9b12becff86e8ce1783a86801c5f9f6
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Apr 26 21:39:13 2016 +0200
patch 7.4.1793
Problem: Some character classes may differ between systems. On OS/X the
regexp test fails.
Solution: Make this less dependent on the system. (idea by Kazunobu Kuriyama)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 26 Apr 2016 21:45:05 +0200 |
parents | 3cf6704d6efc |
children | bf204ab1ce7d |
comparison
equal
deleted
inserted
replaced
9014:5f37f65b716d | 9015:42b228c8701b |
---|---|
2540 startc = *regparse++; | 2540 startc = *regparse++; |
2541 regc(startc); | 2541 regc(startc); |
2542 } | 2542 } |
2543 break; | 2543 break; |
2544 case CLASS_ALNUM: | 2544 case CLASS_ALNUM: |
2545 for (cu = 1; cu <= 255; cu++) | 2545 for (cu = 1; cu < 128; cu++) |
2546 if (isalnum(cu)) | 2546 if (isalnum(cu)) |
2547 regmbc(cu); | 2547 regmbc(cu); |
2548 break; | 2548 break; |
2549 case CLASS_ALPHA: | 2549 case CLASS_ALPHA: |
2550 for (cu = 1; cu <= 255; cu++) | 2550 for (cu = 1; cu < 128; cu++) |
2551 if (isalpha(cu)) | 2551 if (isalpha(cu)) |
2552 regmbc(cu); | 2552 regmbc(cu); |
2553 break; | 2553 break; |
2554 case CLASS_BLANK: | 2554 case CLASS_BLANK: |
2555 regc(' '); | 2555 regc(' '); |
2570 if (isgraph(cu)) | 2570 if (isgraph(cu)) |
2571 regmbc(cu); | 2571 regmbc(cu); |
2572 break; | 2572 break; |
2573 case CLASS_LOWER: | 2573 case CLASS_LOWER: |
2574 for (cu = 1; cu <= 255; cu++) | 2574 for (cu = 1; cu <= 255; cu++) |
2575 if (MB_ISLOWER(cu)) | 2575 if (MB_ISLOWER(cu) && cu != 170 |
2576 && cu != 186) | |
2576 regmbc(cu); | 2577 regmbc(cu); |
2577 break; | 2578 break; |
2578 case CLASS_PRINT: | 2579 case CLASS_PRINT: |
2579 for (cu = 1; cu <= 255; cu++) | 2580 for (cu = 1; cu <= 255; cu++) |
2580 if (vim_isprintc(cu)) | 2581 if (vim_isprintc(cu)) |
2581 regmbc(cu); | 2582 regmbc(cu); |
2582 break; | 2583 break; |
2583 case CLASS_PUNCT: | 2584 case CLASS_PUNCT: |
2584 for (cu = 1; cu <= 255; cu++) | 2585 for (cu = 1; cu < 128; cu++) |
2585 if (ispunct(cu)) | 2586 if (ispunct(cu)) |
2586 regmbc(cu); | 2587 regmbc(cu); |
2587 break; | 2588 break; |
2588 case CLASS_SPACE: | 2589 case CLASS_SPACE: |
2589 for (cu = 9; cu <= 13; cu++) | 2590 for (cu = 9; cu <= 13; cu++) |