Commit 03be4d2
authored
pcre2test: add support for \N{U+hh...} escapes in subject (#528)
When providing escaped values in the subject, the syntax can be
ambiguous, so add support for a new escape that is always meant
to refer to a Unicode character and that is already supported
by the library in utf mode.
While at it, refactor the code to support octal escapes and fix
bugs with overlong numbers, as well to simplify the logic that
decides if an escape is encoded as a code unit or as an Unicode
character, that could require multiple code units.1 parent b72cc97 commit 03be4d2
File tree
14 files changed
+233
-89
lines changed- doc
- src
- testdata
14 files changed
+233
-89
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
80 | | - | |
| 79 | + | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
101 | | - | |
102 | | - | |
| 100 | + | |
| 101 | + | |
103 | 102 | | |
104 | 103 | | |
105 | 104 | | |
| |||
493 | 492 | | |
494 | 493 | | |
495 | 494 | | |
496 | | - | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
526 | 532 | | |
527 | 533 | | |
528 | 534 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
47 | 48 | | |
48 | 49 | | |
49 | 50 | | |
| 51 | + | |
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| 57 | + | |
| 58 | + | |
55 | 59 | | |
56 | 60 | | |
57 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1523 | 1523 | | |
1524 | 1524 | | |
1525 | 1525 | | |
1526 | | - | |
1527 | | - | |
1528 | | - | |
| 1526 | + | |
1529 | 1527 | | |
1530 | 1528 | | |
1531 | 1529 | | |
1532 | 1530 | | |
1533 | 1531 | | |
1534 | 1532 | | |
1535 | | - | |
1536 | 1533 | | |
| 1534 | + | |
1537 | 1535 | | |
1538 | 1536 | | |
1539 | 1537 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
963 | 963 | | |
964 | 964 | | |
965 | 965 | | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
966 | 973 | | |
967 | 974 | | |
968 | 975 | | |
| |||
7134 | 7141 | | |
7135 | 7142 | | |
7136 | 7143 | | |
7137 | | - | |
| 7144 | + | |
7138 | 7145 | | |
| 7146 | + | |
7139 | 7147 | | |
7140 | 7148 | | |
7141 | 7149 | | |
| |||
7157 | 7165 | | |
7158 | 7166 | | |
7159 | 7167 | | |
| 7168 | + | |
7160 | 7169 | | |
7161 | 7170 | | |
7162 | 7171 | | |
| |||
7165 | 7174 | | |
7166 | 7175 | | |
7167 | 7176 | | |
7168 | | - | |
7169 | 7177 | | |
7170 | 7178 | | |
7171 | 7179 | | |
| |||
7243 | 7251 | | |
7244 | 7252 | | |
7245 | 7253 | | |
7246 | | - | |
| 7254 | + | |
7247 | 7255 | | |
| 7256 | + | |
| 7257 | + | |
7248 | 7258 | | |
7249 | 7259 | | |
7250 | 7260 | | |
7251 | 7261 | | |
7252 | 7262 | | |
7253 | 7263 | | |
7254 | 7264 | | |
7255 | | - | |
| 7265 | + | |
7256 | 7266 | | |
7257 | | - | |
7258 | | - | |
7259 | | - | |
| 7267 | + | |
| 7268 | + | |
| 7269 | + | |
| 7270 | + | |
| 7271 | + | |
7260 | 7272 | | |
7261 | 7273 | | |
7262 | | - | |
7263 | | - | |
| 7274 | + | |
| 7275 | + | |
| 7276 | + | |
| 7277 | + | |
| 7278 | + | |
| 7279 | + | |
7264 | 7280 | | |
7265 | 7281 | | |
7266 | 7282 | | |
| |||
7306 | 7322 | | |
7307 | 7323 | | |
7308 | 7324 | | |
7309 | | - | |
7310 | | - | |
7311 | | - | |
7312 | | - | |
7313 | | - | |
| 7325 | + | |
7314 | 7326 | | |
7315 | 7327 | | |
7316 | 7328 | | |
7317 | 7329 | | |
| 7330 | + | |
| 7331 | + | |
| 7332 | + | |
| 7333 | + | |
| 7334 | + | |
| 7335 | + | |
| 7336 | + | |
| 7337 | + | |
| 7338 | + | |
| 7339 | + | |
| 7340 | + | |
| 7341 | + | |
| 7342 | + | |
| 7343 | + | |
| 7344 | + | |
| 7345 | + | |
| 7346 | + | |
| 7347 | + | |
| 7348 | + | |
| 7349 | + | |
7318 | 7350 | | |
7319 | 7351 | | |
7320 | 7352 | | |
| |||
7340 | 7372 | | |
7341 | 7373 | | |
7342 | 7374 | | |
7343 | | - | |
7344 | | - | |
7345 | | - | |
| 7375 | + | |
| 7376 | + | |
7346 | 7377 | | |
7347 | 7378 | | |
7348 | 7379 | | |
7349 | 7380 | | |
7350 | | - | |
7351 | | - | |
7352 | | - | |
7353 | | - | |
7354 | | - | |
7355 | | - | |
7356 | | - | |
7357 | | - | |
7358 | | - | |
7359 | | - | |
7360 | | - | |
| 7381 | + | |
7361 | 7382 | | |
7362 | 7383 | | |
7363 | 7384 | | |
| |||
7368 | 7389 | | |
7369 | 7390 | | |
7370 | 7391 | | |
| 7392 | + | |
| 7393 | + | |
| 7394 | + | |
| 7395 | + | |
| 7396 | + | |
| 7397 | + | |
| 7398 | + | |
| 7399 | + | |
| 7400 | + | |
| 7401 | + | |
7371 | 7402 | | |
7372 | 7403 | | |
7373 | 7404 | | |
7374 | 7405 | | |
7375 | 7406 | | |
7376 | | - | |
| 7407 | + | |
7377 | 7408 | | |
7378 | 7409 | | |
7379 | 7410 | | |
7380 | | - | |
7381 | | - | |
| 7411 | + | |
| 7412 | + | |
| 7413 | + | |
7382 | 7414 | | |
7383 | 7415 | | |
7384 | 7416 | | |
7385 | 7417 | | |
7386 | | - | |
| 7418 | + | |
7387 | 7419 | | |
7388 | 7420 | | |
7389 | 7421 | | |
7390 | | - | |
7391 | | - | |
| 7422 | + | |
7392 | 7423 | | |
7393 | 7424 | | |
7394 | 7425 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
359 | 366 | | |
360 | 367 | | |
361 | 368 | | |
| 369 | + | |
| 370 | + | |
362 | 371 | | |
363 | 372 | | |
364 | 373 | | |
| |||
367 | 376 | | |
368 | 377 | | |
369 | 378 | | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
370 | 388 | | |
371 | 389 | | |
372 | 390 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2335 | 2335 | | |
2336 | 2336 | | |
2337 | 2337 | | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
2338 | 2341 | | |
2339 | 2342 | | |
2340 | 2343 | | |
| |||
0 commit comments