rfc:pcre2-migration
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:pcre2-migration [2017/10/16 16:42] – ab | rfc:pcre2-migration [2018/03/01 23:09] (current) – pcre2-migration was implemented in PHP 7.3 carusogabriel | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2017-10-16 | * Date: 2017-10-16 | ||
* Author: Anatol Belski, ab@php.net | * Author: Anatol Belski, ab@php.net | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 9: | Line 9: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | PCRE is the base for many core functionalities in PHP. Currently it is based on 8.x series which a legacy library version today. It is supported by the mainstream, however no new feature implementations flow in there, it is a bugfix version only. | + | PCRE is the base for many core functionalities in PHP. Currently it is based on 8.x series which is a legacy library version today. It is supported by the mainstream, however no new feature implementations flow in there, it is a bugfix version only. |
Still, as ext/pcre is the core functionality for PHP, and it is essential to keep it rolling. The up-to-date version is called PCRE2 and it pertains as currently actively supported, also it is where the new features are implemented. However, the API has certain differencies. As the original [[https:// | Still, as ext/pcre is the core functionality for PHP, and it is essential to keep it rolling. The up-to-date version is called PCRE2 and it pertains as currently actively supported, also it is where the new features are implemented. However, the API has certain differencies. As the original [[https:// | ||
Line 24: | Line 24: | ||
* The ' | * The ' | ||
* Some behavior change due to the newer Unicode engine was sighted. It's Unicode 10 in PCRE2 vs Unicode 7 in PCRE. | * Some behavior change due to the newer Unicode engine was sighted. It's Unicode 10 in PCRE2 vs Unicode 7 in PCRE. | ||
+ | * Some behavior change can be sighted with invalid patterns. | ||
Line 58: | Line 59: | ||
===== Open Issues ===== | ===== Open Issues ===== | ||
- | Make sure there are no open issues when the vote starts! | + | None. |
===== Unaffected PHP Functionality ===== | ===== Unaffected PHP Functionality ===== | ||
- | The userland code is unaffected, whereby the pattern checking is done more precise in PCRE2. Invalid patterns are more likely to fail the compilation. The behavior of ' | + | The userland code is unaffected, whereby the pattern checking is done more precise in PCRE2. Invalid patterns are more likely to fail the compilation. The behavior of ' |
The current test suite passes with PCRE2 with almost no change to the tests. One test ext/ | The current test suite passes with PCRE2 with almost no change to the tests. One test ext/ | ||
Line 69: | Line 70: | ||
* New pcre2_substitute() API | * New pcre2_substitute() API | ||
- | * Serialization of JIT compiled | + | * Serialization of compiled |
* New compilation options that can be turned into modifiers or used in any way otherwise, such as | * New compilation options that can be turned into modifiers or used in any way otherwise, such as | ||
* PCRE2_LITERAL | * PCRE2_LITERAL | ||
Line 85: | Line 86: | ||
- | ===== Proposed Voting Choices | + | ===== Vote ===== |
- | This is admittedly not a language change, though it's an important | + | Migrate the PHP core to the most current PCRE2 version. |
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
+ | |||
+ | 2/3 majority | ||
===== Patches and Tests ===== | ===== Patches and Tests ===== | ||
Line 92: | Line 101: | ||
===== Implementation ===== | ===== Implementation ===== | ||
- | After the project is implemented, | + | Merged into 7.3 http:// |
- | | + | |
- | - a link to the git commit(s) | + | |
- | - a link to the PHP manual entry for the feature | + | |
- | - a link to the language specification section (if any) | + | |
===== References ===== | ===== References ===== | ||
Line 106: | Line 111: | ||
* http:// | * http:// | ||
- | ===== Rejected Features ===== | ||
- | Keep this updated with features that were discussed on the mail lists. |
rfc/pcre2-migration.1508172133.txt.gz · Last modified: 2017/10/16 16:42 by ab