From bf2c8cc5649ece9d65aea18de1a6fd661556212b Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Fri, 29 Oct 2021 15:12:56 +0100 Subject: [PATCH] Update ChangeLog for GitHub commits and generate HTML docs. --- ChangeLog | 26 ++++++++- doc/html/NON-AUTOTOOLS-BUILD.txt | 8 +-- doc/html/pcre2build.html | 7 ++- doc/html/pcre2pattern.html | 5 ++ doc/html/pcre2syntax.html | 5 ++ doc/pcre2.txt | 96 ++++++++++++++++---------------- src/config.h.in | 6 ++ 7 files changed, 97 insertions(+), 56 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4ce6bff..7fa5882 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,7 +6,7 @@ Version 10.39-RC1 xx-xxx-2021 1. Fix incorrect detection of alternatives in first character search in JIT. -2. Merged patch from @carenas (GitHub issue #28): +2. Merged patch from @carenas (GitHub #28): Visual Studio 2013 includes support for %zu and %td, so let newer versions of it avoid the fallback, and while at it, make sure that @@ -21,7 +21,29 @@ Version 10.39-RC1 xx-xxx-2021 make the code cleaner and the fallback is likely portable enough with all 64-bit POSIX systems doing LP64 except for Windows. -3. Merged patch from @carenas (GitHub issue #29) to update to Unicode 14.0.0. +3. Merged patch from @carenas (GitHub #29) to update to Unicode 14.0.0. + +4. Merged patch from @carenas (GitHub #30): + + * Cleanup: remove references to no longer used stdint.h + + Since 19c50b9d (Unconditionally use inttypes.h instead of trying for stdint.h + (simplification) and remove the now unnecessary inclusion in + pcre2_internal.h., 2018-11-14), stdint.h is no longer used. + + Remove checks for it in autotools and CMake and document better the expected + build failures for systems that might have stdint.h (C99) and not inttypes.h + (from POSIX), like old Windows. + + * Cleanup: remove detection for inttypes.h which is a hard dependency + + CMake checks for standard headers are not meant to be used for hard + dependencies, so will prevent a possible fallback to work. + + Alternatively, the header could be checked to make the configuration fail + instead of breaking the build, but that was punted, as it was missing anyway + from autotools. + Version 10.38 01-October-2021 diff --git a/doc/html/NON-AUTOTOOLS-BUILD.txt b/doc/html/NON-AUTOTOOLS-BUILD.txt index 6bf6576..61d2b3e 100644 --- a/doc/html/NON-AUTOTOOLS-BUILD.txt +++ b/doc/html/NON-AUTOTOOLS-BUILD.txt @@ -343,10 +343,10 @@ cache can be deleted by selecting "File > Delete Cache". BUILDING PCRE2 ON WINDOWS WITH VISUAL STUDIO -The code currently cannot be compiled without a stdint.h header, which is -available only in relatively recent versions of Visual Studio. However, this -portable and permissively-licensed implementation of the header worked without -issue: +The code currently cannot be compiled without an inttypes.h header, which is +available only with Visual Studio 2013 or newer. However, this +portable and permissively-licensed implementation of the stdint.h header +could be used as an alternative: http://www.azillionmonkeys.com/qed/pstdint.h diff --git a/doc/html/pcre2build.html b/doc/html/pcre2build.html index a206b23..a1c2e95 100644 --- a/doc/html/pcre2build.html +++ b/doc/html/pcre2build.html @@ -553,15 +553,16 @@ documentation.

The C99 standard defines formatting modifiers z and t for size_t and ptrdiff_t values, respectively. By default, PCRE2 uses these modifiers in -environments other than Microsoft Visual Studio when __STDC_VERSION__ is -defined and has a value greater than or equal to 199901L (indicating C99). +environments other than old versions of Microsoft Visual Studio when +__STDC_VERSION__ is defined and has a value greater than or equal to 199901L +(indicating support for C99). However, there is at least one environment that claims to be C99 but does not support these modifiers. If

   --disable-percent-zt
 
is specified, no use is made of the z or t modifiers. Instead of %td or %zu, -%lu is used, with a cast for size_t values. +a suitable format is used depending in the size of long for the platform.


SUPPORT FOR FUZZERS

diff --git a/doc/html/pcre2pattern.html b/doc/html/pcre2pattern.html index a0b70d9..9c2d66c 100644 --- a/doc/html/pcre2pattern.html +++ b/doc/html/pcre2pattern.html @@ -834,6 +834,7 @@ Common, Coptic, Cuneiform, Cypriot, +Cypro_Minoan, Cyrillic, Deseret, Devanagari, @@ -917,6 +918,7 @@ Old_Persian, Old_Sogdian, Old_South_Arabian, Old_Turkic, +Old_Uyghur, Oriya, Osage, Osmanya, @@ -948,6 +950,7 @@ Tai_Tham, Tai_Viet, Takri, Tamil, +Tangsa, Tangut, Telugu, Thaana, @@ -955,9 +958,11 @@ Thai, Tibetan, Tifinagh, Tirhuta, +Toto, Ugaritic, Unknown, Vai, +Vithkuqi, Wancho, Warang_Citi, Yezidi, diff --git a/doc/html/pcre2syntax.html b/doc/html/pcre2syntax.html index 4aaa4f0..735eb69 100644 --- a/doc/html/pcre2syntax.html +++ b/doc/html/pcre2syntax.html @@ -228,6 +228,7 @@ Common, Coptic, Cuneiform, Cypriot, +Cypro_Minoan, Cyrillic, Deseret, Devanagari, @@ -311,6 +312,7 @@ Old_Persian, Old_Sogdian, Old_South_Arabian, Old_Turkic, +Old_Uyghur, Oriya, Osage, Osmanya, @@ -342,6 +344,7 @@ Tai_Tham, Tai_Viet, Takri, Tamil, +Tangsa, Tangut, Telugu, Thaana, @@ -349,8 +352,10 @@ Thai, Tibetan, Tifinagh, Tirhuta, +Toto, Ugaritic, Vai, +Vithkuqi, Wancho, Warang_Citi, Yezidi, diff --git a/doc/pcre2.txt b/doc/pcre2.txt index 7d6761a..9a0c839 100644 --- a/doc/pcre2.txt +++ b/doc/pcre2.txt @@ -4379,15 +4379,17 @@ DISABLING THE Z AND T FORMATTING MODIFIERS The C99 standard defines formatting modifiers z and t for size_t and ptrdiff_t values, respectively. By default, PCRE2 uses these modifiers - in environments other than Microsoft Visual Studio when __STDC_VER- - SION__ is defined and has a value greater than or equal to 199901L (in- - dicating C99). However, there is at least one environment that claims - to be C99 but does not support these modifiers. If + in environments other than old versions of Microsoft Visual Studio when + __STDC_VERSION__ is defined and has a value greater than or equal to + 199901L (indicating support for C99). However, there is at least one + environment that claims to be C99 but does not support these modifiers. + If --disable-percent-zt is specified, no use is made of the z or t modifiers. Instead of %td or - %zu, %lu is used, with a cast for size_t values. + %zu, a suitable format is used depending in the size of long for the + platform. SUPPORT FOR FUZZERS @@ -6899,27 +6901,27 @@ BACKSLASH nese, Bamum, Bassa_Vah, Batak, Bengali, Bhaiksuki, Bopomofo, Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Carian, Caucasian_Alba- nian, Chakma, Cham, Cherokee, Chorasmian, Common, Coptic, Cuneiform, - Cypriot, Cyrillic, Deseret, Devanagari, Dives_Akuru, Dogra, Duployan, - Egyptian_Hieroglyphs, Elbasan, Elymaic, Ethiopic, Georgian, Glagolitic, - Gothic, Grantha, Greek, Gujarati, Gunjala_Gondi, Gurmukhi, Han, Hangul, - Hanifi_Rohingya, Hanunoo, Hatran, Hebrew, Hiragana, Imperial_Aramaic, - Inherited, Inscriptional_Pahlavi, Inscriptional_Parthian, Javanese, - Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khitan_Small_Script, - Khmer, Khojki, Khudawadi, Lao, Latin, Lepcha, Limbu, Linear_A, Lin- - ear_B, Lisu, Lycian, Lydian, Mahajani, Makasar, Malayalam, Mandaic, - Manichaean, Marchen, Masaram_Gondi, Medefaidrin, Meetei_Mayek, - Mende_Kikakui, Meroitic_Cursive, Meroitic_Hieroglyphs, Miao, Modi, Mon- - golian, Mro, Multani, Myanmar, Nabataean, Nandinagari, New_Tai_Lue, - Newa, Nko, Nushu, Nyakeng_Puachue_Hmong, Ogham, Ol_Chiki, Old_Hungar- - ian, Old_Italic, Old_North_Arabian, Old_Permic, Old_Persian, Old_Sog- - dian, Old_South_Arabian, Old_Turkic, Oriya, Osage, Osmanya, Pa- - hawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician, - Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, Sharada, Sha- - vian, Siddham, SignWriting, Sinhala, Sogdian, Sora_Sompeng, Soyombo, - Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, - Tai_Viet, Takri, Tamil, Tangut, Telugu, Thaana, Thai, Tibetan, Tifi- - nagh, Tirhuta, Ugaritic, Unknown, Vai, Wancho, Warang_Citi, Yezidi, Yi, - Zanabazar_Square. + Cypriot, Cypro_Minoan, Cyrillic, Deseret, Devanagari, Dives_Akuru, Do- + gra, Duployan, Egyptian_Hieroglyphs, Elbasan, Elymaic, Ethiopic, Geor- + gian, Glagolitic, Gothic, Grantha, Greek, Gujarati, Gunjala_Gondi, Gur- + mukhi, Han, Hangul, Hanifi_Rohingya, Hanunoo, Hatran, Hebrew, Hiragana, + Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscrip- + tional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li, + Kharoshthi, Khitan_Small_Script, Khmer, Khojki, Khudawadi, Lao, Latin, + Lepcha, Limbu, Linear_A, Linear_B, Lisu, Lycian, Lydian, Mahajani, + Makasar, Malayalam, Mandaic, Manichaean, Marchen, Masaram_Gondi, Mede- + faidrin, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive, Meroitic_Hiero- + glyphs, Miao, Modi, Mongolian, Mro, Multani, Myanmar, Nabataean, Nandi- + nagari, New_Tai_Lue, Newa, Nko, Nushu, Nyakeng_Puachue_Hmong, Ogham, + Ol_Chiki, Old_Hungarian, Old_Italic, Old_North_Arabian, Old_Permic, + Old_Persian, Old_Sogdian, Old_South_Arabian, Old_Turkic, Old_Uyghur, + Oriya, Osage, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, + Phoenician, Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, + Sharada, Shavian, Siddham, SignWriting, Sinhala, Sogdian, Sora_Sompeng, + Soyombo, Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, + Tai_Tham, Tai_Viet, Takri, Tamil, Tangsa, Tangut, Telugu, Thaana, Thai, + Tibetan, Tifinagh, Tirhuta, Toto, Ugaritic, Unknown, Vai, Vithkuqi, + Wancho, Warang_Citi, Yezidi, Yi, Zanabazar_Square. Each character has exactly one Unicode general category property, spec- ified by a two-letter abbreviation. For compatibility with Perl, nega- @@ -10654,27 +10656,27 @@ SCRIPT NAMES FOR \p AND \P nese, Bamum, Bassa_Vah, Batak, Bengali, Bhaiksuki, Bopomofo, Brahmi, Braille, Buginese, Buhid, Canadian_Aboriginal, Carian, Caucasian_Alba- nian, Chakma, Cham, Cherokee, Chorasmian, Common, Coptic, Cuneiform, - Cypriot, Cyrillic, Deseret, Devanagari, Dives_Akuru, Dogra, Duployan, - Egyptian_Hieroglyphs, Elbasan, Elymaic, Ethiopic, Georgian, Glagolitic, - Gothic, Grantha, Greek, Gujarati, Gunjala_Gondi, Gurmukhi, Han, Hangul, - Hanifi_Rohingya, Hanunoo, Hatran, Hebrew, Hiragana, Imperial_Aramaic, - Inherited, Inscriptional_Pahlavi, Inscriptional_Parthian, Javanese, - Kaithi, Kannada, Katakana, Kayah_Li, Kharoshthi, Khitan_Small_Script, - Khmer, Khojki, Khudawadi, Lao, Latin, Lepcha, Limbu, Linear_A, Lin- - ear_B, Lisu, Lycian, Lydian, Mahajani, Makasar, Malayalam, Mandaic, - Manichaean, Marchen, Masaram_Gondi, Medefaidrin, Meetei_Mayek, - Mende_Kikakui, Meroitic_Cursive, Meroitic_Hieroglyphs, Miao, Modi, Mon- - golian, Mro, Multani, Myanmar, Nabataean, Nandinagari, New_Tai_Lue, - Newa, Nko, Nushu, Nyakeng_Puachue_Hmong, Ogham, Ol_Chiki, Old_Hungar- - ian, Old_Italic, Old_North_Arabian, Old_Permic, Old_Persian, Old_Sog- - dian, Old_South_Arabian, Old_Turkic, Oriya, Osage, Osmanya, Pa- - hawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, Phoenician, - Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, Sharada, Sha- - vian, Siddham, SignWriting, Sinhala, Sogdian, Sora_Sompeng, Soyombo, - Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, Tai_Tham, - Tai_Viet, Takri, Tamil, Tangut, Telugu, Thaana, Thai, Tibetan, Tifi- - nagh, Tirhuta, Ugaritic, Vai, Wancho, Warang_Citi, Yezidi, Yi, Zan- - abazar_Square. + Cypriot, Cypro_Minoan, Cyrillic, Deseret, Devanagari, Dives_Akuru, Do- + gra, Duployan, Egyptian_Hieroglyphs, Elbasan, Elymaic, Ethiopic, Geor- + gian, Glagolitic, Gothic, Grantha, Greek, Gujarati, Gunjala_Gondi, Gur- + mukhi, Han, Hangul, Hanifi_Rohingya, Hanunoo, Hatran, Hebrew, Hiragana, + Imperial_Aramaic, Inherited, Inscriptional_Pahlavi, Inscrip- + tional_Parthian, Javanese, Kaithi, Kannada, Katakana, Kayah_Li, + Kharoshthi, Khitan_Small_Script, Khmer, Khojki, Khudawadi, Lao, Latin, + Lepcha, Limbu, Linear_A, Linear_B, Lisu, Lycian, Lydian, Mahajani, + Makasar, Malayalam, Mandaic, Manichaean, Marchen, Masaram_Gondi, Mede- + faidrin, Meetei_Mayek, Mende_Kikakui, Meroitic_Cursive, Meroitic_Hiero- + glyphs, Miao, Modi, Mongolian, Mro, Multani, Myanmar, Nabataean, Nandi- + nagari, New_Tai_Lue, Newa, Nko, Nushu, Nyakeng_Puachue_Hmong, Ogham, + Ol_Chiki, Old_Hungarian, Old_Italic, Old_North_Arabian, Old_Permic, + Old_Persian, Old_Sogdian, Old_South_Arabian, Old_Turkic, Old_Uyghur, + Oriya, Osage, Osmanya, Pahawh_Hmong, Palmyrene, Pau_Cin_Hau, Phags_Pa, + Phoenician, Psalter_Pahlavi, Rejang, Runic, Samaritan, Saurashtra, + Sharada, Shavian, Siddham, SignWriting, Sinhala, Sogdian, Sora_Sompeng, + Soyombo, Sundanese, Syloti_Nagri, Syriac, Tagalog, Tagbanwa, Tai_Le, + Tai_Tham, Tai_Viet, Takri, Tamil, Tangsa, Tangut, Telugu, Thaana, Thai, + Tibetan, Tifinagh, Tirhuta, Toto, Ugaritic, Vai, Vithkuqi, Wancho, + Warang_Citi, Yezidi, Yi, Zanabazar_Square. CHARACTER CLASSES diff --git a/src/config.h.in b/src/config.h.in index 303a907..99add60 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -73,6 +73,9 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the header file. */ #undef HAVE_EDIT_READLINE_READLINE_H +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H @@ -106,6 +109,9 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the `secure_getenv' function. */ #undef HAVE_SECURE_GETENV +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H