| 51 |
9. The restrictions on what a pattern can contain when partial matching is |
9. The restrictions on what a pattern can contain when partial matching is |
| 52 |
requested for pcre_exec() have been removed. All patterns can now be |
requested for pcre_exec() have been removed. All patterns can now be |
| 53 |
partially matched by this function. In addition, if there are at least two |
partially matched by this function. In addition, if there are at least two |
| 54 |
slots in the offset vector, the offsets of the first-encountered partial |
slots in the offset vector, the offset of the earliest inspected character |
| 55 |
match are set in them when PCRE_ERROR_PARTIAL is returned. |
for the match and the offset of the end of the subject are set in them when |
| 56 |
|
PCRE_ERROR_PARTIAL is returned. |
| 57 |
|
|
| 58 |
10. Partial matching has been split into two forms: PCRE_PARTIAL_SOFT, which is |
10. Partial matching has been split into two forms: PCRE_PARTIAL_SOFT, which is |
| 59 |
synonymous with PCRE_PARTIAL, for backwards compatibility, and |
synonymous with PCRE_PARTIAL, for backwards compatibility, and |
| 74 |
earlier partial match, unless partial matching was again requested. For |
earlier partial match, unless partial matching was again requested. For |
| 75 |
example, with the pattern /dog.(body)?/, the "must contain" character is |
example, with the pattern /dog.(body)?/, the "must contain" character is |
| 76 |
"g". If the first part-match was for the string "dog", restarting with |
"g". If the first part-match was for the string "dog", restarting with |
| 77 |
"sbody" failed. |
"sbody" failed. This bug has been fixed. |
| 78 |
|
|
| 79 |
13. Added a pcredemo man page, created automatically from the pcredemo.c file, |
13. The string returned by pcre_dfa_exec() after a partial match has been |
| 80 |
|
changed so that it starts at the first inspected character rather than the |
| 81 |
|
first character of the match. This makes a difference only if the pattern |
| 82 |
|
starts with a lookbehind assertion or \b or \B (\K is not supported by |
| 83 |
|
pcre_dfa_exec()). It's an incompatible change, but it makes the two |
| 84 |
|
matching functions compatible, and I think it's the right thing to do. |
| 85 |
|
|
| 86 |
|
14. Added a pcredemo man page, created automatically from the pcredemo.c file, |
| 87 |
so that the demonstration program is easily available in environments where |
so that the demonstration program is easily available in environments where |
| 88 |
PCRE has not been installed from source. |
PCRE has not been installed from source. |
| 89 |
|
|
| 90 |
14. Arranged to add -DPCRE_STATIC to cflags in libpcre.pc, libpcreposix.cp, |
15. Arranged to add -DPCRE_STATIC to cflags in libpcre.pc, libpcreposix.cp, |
| 91 |
libpcrecpp.pc and pcre-config when PCRE is not compiled as a shared |
libpcrecpp.pc and pcre-config when PCRE is not compiled as a shared |
| 92 |
library. |
library. |
| 93 |
|
|
| 94 |
15. Added REG_UNGREEDY to the pcreposix interface, at the request of a user. |
16. Added REG_UNGREEDY to the pcreposix interface, at the request of a user. |
| 95 |
It maps to PCRE_UNGREEDY. It is not, of course, POSIX-compatible, but it |
It maps to PCRE_UNGREEDY. It is not, of course, POSIX-compatible, but it |
| 96 |
is not the first non-POSIX option to be added. Clearly some people find |
is not the first non-POSIX option to be added. Clearly some people find |
| 97 |
these options useful. |
these options useful. |
| 98 |
|
|
| 99 |
16. If a caller to the POSIX matching function regexec() passes a non-zero |
17. If a caller to the POSIX matching function regexec() passes a non-zero |
| 100 |
value for \fInmatch\fP with a NULL value for \fIpmatch\fP, the value of |
value for \fInmatch\fP with a NULL value for \fIpmatch\fP, the value of |
| 101 |
\fInmatch\fP is forced to zero. |
\fInmatch\fP is forced to zero. |
| 102 |
|
|