Commit 4683ce82 authored by Sergei Golubchik's avatar Sergei Golubchik

8.45

parent c1291d7a
...@@ -2,13 +2,13 @@ THE MAIN PCRE LIBRARY ...@@ -2,13 +2,13 @@ THE MAIN PCRE LIBRARY
--------------------- ---------------------
Written by: Philip Hazel Written by: Philip Hazel
Email local part: ph10 Email local part: Philip.Hazel
Email domain: cam.ac.uk Email domain: gmail.com
University of Cambridge Computing Service, University of Cambridge Computing Service,
Cambridge, England. Cambridge, England.
Copyright (c) 1997-2020 University of Cambridge Copyright (c) 1997-2021 University of Cambridge
All rights reserved All rights reserved
...@@ -19,7 +19,7 @@ Written by: Zoltan Herczeg ...@@ -19,7 +19,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Emain domain: freemail.hu Emain domain: freemail.hu
Copyright(c) 2010-2020 Zoltan Herczeg Copyright(c) 2010-2021 Zoltan Herczeg
All rights reserved. All rights reserved.
...@@ -30,7 +30,7 @@ Written by: Zoltan Herczeg ...@@ -30,7 +30,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Emain domain: freemail.hu Emain domain: freemail.hu
Copyright(c) 2009-2020 Zoltan Herczeg Copyright(c) 2009-2021 Zoltan Herczeg
All rights reserved. All rights reserved.
......
...@@ -67,16 +67,23 @@ ...@@ -67,16 +67,23 @@
# 2013-11-05 PH added support for PARENS_NEST_LIMIT # 2013-11-05 PH added support for PARENS_NEST_LIMIT
# 2016-03-01 PH applied Chris Wilson's patch for MSVC static build # 2016-03-01 PH applied Chris Wilson's patch for MSVC static build
# 2016-06-24 PH applied Chris Wilson's revised patch (adds a separate option) # 2016-06-24 PH applied Chris Wilson's revised patch (adds a separate option)
# 2021-06-14 PH changed CMAKE_MODULE_PATH definition to add, not replace
# 2021-06-14 PH applied Wolfgang Stöggl's patch for generating pcre-config and
# libpcre*.pc files (Bugzilla #2583)
PROJECT(PCRE C CXX) PROJECT(PCRE C CXX)
# Increased minimum to 2.8.0 to support newer add_test features. Set policy # Increased minimum to 2.8.5 to support GNUInstallDirs. Set policy
# CMP0026 to avoid warnings for the use of LOCATION in GET_TARGET_PROPERTY. # CMP0026 to avoid warnings for the use of LOCATION in GET_TARGET_PROPERTY.
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0) CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
CMAKE_POLICY(SET CMP0026 OLD) CMAKE_POLICY(SET CMP0026 OLD)
SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake # For FindReadline.cmake. This was changed to allow setting CMAKE_MODULE_PATH
# on the command line.
# SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) # for FindReadline.cmake
LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
# external packages # external packages
FIND_PACKAGE( BZip2 ) FIND_PACKAGE( BZip2 )
...@@ -90,6 +97,7 @@ INCLUDE(CheckIncludeFile) ...@@ -90,6 +97,7 @@ INCLUDE(CheckIncludeFile)
INCLUDE(CheckIncludeFileCXX) INCLUDE(CheckIncludeFileCXX)
INCLUDE(CheckFunctionExists) INCLUDE(CheckFunctionExists)
INCLUDE(CheckTypeSize) INCLUDE(CheckTypeSize)
INCLUDE(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR
CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H) CHECK_INCLUDE_FILE(dirent.h HAVE_DIRENT_H)
CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H) CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
...@@ -406,7 +414,7 @@ foreach(configure_line ${configure_lines}) ...@@ -406,7 +414,7 @@ foreach(configure_line ${configure_lines})
foreach(_substitution_variable ${SEARCHED_VARIABLES}) foreach(_substitution_variable ${SEARCHED_VARIABLES})
string(TOUPPER ${_substitution_variable} _substitution_variable_upper) string(TOUPPER ${_substitution_variable} _substitution_variable_upper)
if (NOT ${_substitution_variable_upper}) if (NOT ${_substitution_variable_upper})
string(REGEX MATCH "m4_define\\(${_substitution_variable}, \\[(.*)\\]" MACTHED_STRING ${configure_line}) string(REGEX MATCH "m4_define\\(${_substitution_variable}, \\[(.*)\\]" MATCHED_STRING ${configure_line})
if (CMAKE_MATCH_1) if (CMAKE_MATCH_1)
set(${_substitution_variable_upper} ${CMAKE_MATCH_1}) set(${_substitution_variable_upper} ${CMAKE_MATCH_1})
endif() endif()
...@@ -418,8 +426,6 @@ CONFIGURE_FILE(pcre.h.in ...@@ -418,8 +426,6 @@ CONFIGURE_FILE(pcre.h.in
${PROJECT_BINARY_DIR}/pcre.h ${PROJECT_BINARY_DIR}/pcre.h
@ONLY) @ONLY)
# What about pcre-config and libpcre.pc?
IF(PCRE_BUILD_PCRECPP) IF(PCRE_BUILD_PCRECPP)
CONFIGURE_FILE(pcre_stringpiece.h.in CONFIGURE_FILE(pcre_stringpiece.h.in
${PROJECT_BINARY_DIR}/pcre_stringpiece.h ${PROJECT_BINARY_DIR}/pcre_stringpiece.h
...@@ -430,6 +436,49 @@ IF(PCRE_BUILD_PCRECPP) ...@@ -430,6 +436,49 @@ IF(PCRE_BUILD_PCRECPP)
@ONLY) @ONLY)
ENDIF(PCRE_BUILD_PCRECPP) ENDIF(PCRE_BUILD_PCRECPP)
# Generate pkg-config files
SET(PACKAGE_VERSION "${PCRE_MAJOR}.${PCRE_MINOR}")
SET(prefix "${CMAKE_INSTALL_PREFIX}")
SET(exec_prefix "\${prefix}")
SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
SET(includedir "\${prefix}/include")
IF(NOT BUILD_SHARED_LIBS)
SET(PCRE_STATIC_CFLAG "-DPCRE_STATIC")
ENDIF(NOT BUILD_SHARED_LIBS)
# TO-DO: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
CONFIGURE_FILE(libpcreposix.pc.in ${PROJECT_BINARY_DIR}/libpcreposix.pc @ONLY)
IF(PCRE_BUILD_PCRE8)
CONFIGURE_FILE(libpcre.pc.in ${PROJECT_BINARY_DIR}/libpcre.pc @ONLY)
SET(enable_pcre8 "yes")
ELSE()
SET(enable_pcre8 "no")
ENDIF()
IF(PCRE_BUILD_PCRE16)
CONFIGURE_FILE(libpcre16.pc.in ${PROJECT_BINARY_DIR}/libpcre16.pc @ONLY)
SET(enable_pcre16 "yes")
ELSE()
SET(enable_pcre16 "no")
ENDIF()
IF(PCRE_BUILD_PCRE32)
CONFIGURE_FILE(libpcre32.pc.in ${PROJECT_BINARY_DIR}/libpcre32.pc @ONLY)
SET(enable_pcre32 "yes")
ELSE()
SET(enable_pcre32 "no")
ENDIF()
IF(PCRE_BUILD_PCRECPP)
CONFIGURE_FILE(libpcrecpp.pc.in ${PROJECT_BINARY_DIR}/libpcrecpp.pc @ONLY)
SET(enable_cpp "yes")
ELSE()
SET(enable_cpp "no")
ENDIF()
CONFIGURE_FILE(pcre-config.in pcre-config @ONLY)
# Character table generation # Character table generation
OPTION(PCRE_REBUILD_CHARTABLES "Rebuild char tables" OFF) OPTION(PCRE_REBUILD_CHARTABLES "Rebuild char tables" OFF)
...@@ -887,14 +936,15 @@ SET(CMAKE_INSTALL_ALWAYS 1) ...@@ -887,14 +936,15 @@ SET(CMAKE_INSTALL_ALWAYS 1)
INSTALL(TARGETS ${targets} INSTALL(TARGETS ${targets}
RUNTIME DESTINATION bin RUNTIME DESTINATION bin
LIBRARY DESTINATION lib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION lib) ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include) INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include)
FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html) FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html)
FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1)
FILE(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3) FILE(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3)
FILE(GLOB pc ${PROJECT_BINARY_DIR}/*.pc)
IF(PCRE_BUILD_PCRECPP) IF(PCRE_BUILD_PCRECPP)
INSTALL(FILES ${PCRECPP_HEADERS} DESTINATION include) INSTALL(FILES ${PCRECPP_HEADERS} DESTINATION include)
...@@ -912,6 +962,11 @@ ENDIF(PCRE_BUILD_PCRECPP) ...@@ -912,6 +962,11 @@ ENDIF(PCRE_BUILD_PCRECPP)
INSTALL(FILES ${man1} DESTINATION man/man1) INSTALL(FILES ${man1} DESTINATION man/man1)
INSTALL(FILES ${man3} DESTINATION man/man3) INSTALL(FILES ${man3} DESTINATION man/man3)
INSTALL(FILES ${html} DESTINATION share/doc/pcre/html) INSTALL(FILES ${html} DESTINATION share/doc/pcre/html)
INSTALL(FILES ${pc} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/pcre-config"
DESTINATION bin
# Set 0755 permissions
PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
IF(MSVC AND INSTALL_MSVC_PDB) IF(MSVC AND INSTALL_MSVC_PDB)
INSTALL(FILES ${PROJECT_BINARY_DIR}/pcre.pdb INSTALL(FILES ${PROJECT_BINARY_DIR}/pcre.pdb
...@@ -941,7 +996,7 @@ IF(PCRE_SHOW_REPORT) ...@@ -941,7 +996,7 @@ IF(PCRE_SHOW_REPORT)
ENDIF(CMAKE_CXX_FLAGS) ENDIF(CMAKE_CXX_FLAGS)
MESSAGE(STATUS "") MESSAGE(STATUS "")
MESSAGE(STATUS "") MESSAGE(STATUS "")
MESSAGE(STATUS "PCRE configuration summary:") MESSAGE(STATUS "PCRE-${PCRE_MAJOR}.${PCRE_MINOR} configuration summary:")
MESSAGE(STATUS "") MESSAGE(STATUS "")
MESSAGE(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}") MESSAGE(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}")
MESSAGE(STATUS " C compiler ...................... : ${CMAKE_C_COMPILER}") MESSAGE(STATUS " C compiler ...................... : ${CMAKE_C_COMPILER}")
......
ChangeLog for PCRE ChangeLog for PCRE
------------------ ------------------
Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All Note that the PCRE 8.xx series (PCRE1) is now at end of life. All development
development is happening in the PCRE2 10.xx series. is happening in the PCRE2 10.xx series.
Version 8.45 15-June-2021
-------------------------
This is the final release of PCRE1. A few minor tidies are included.
1. CMakeLists.txt has two user-supplied patches applied, one to allow for the
setting of MODULE_PATH, and the other to support the generation of pcre-config
file and libpcre*.pc files.
2. There was a memory leak if a compile error occurred when there were more
than 20 named groups (Bugzilla #2613).
3. Fixed some typos in code and documentation.
4. Fixed a small (*MARK) bug in the interpreter (Bugzilla #2771).
Version 8.44 12 February-2020 Version 8.44 12 February-2020
......
...@@ -19,13 +19,13 @@ THE BASIC LIBRARY FUNCTIONS ...@@ -19,13 +19,13 @@ THE BASIC LIBRARY FUNCTIONS
--------------------------- ---------------------------
Written by: Philip Hazel Written by: Philip Hazel
Email local part: ph10 Email local part: Philip.Hazel
Email domain: cam.ac.uk Email domain: gmail.com
University of Cambridge Computing Service, University of Cambridge Computing Service,
Cambridge, England. Cambridge, England.
Copyright (c) 1997-2020 University of Cambridge Copyright (c) 1997-2021 University of Cambridge
All rights reserved. All rights reserved.
...@@ -36,7 +36,7 @@ Written by: Zoltan Herczeg ...@@ -36,7 +36,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Email domain: freemail.hu Email domain: freemail.hu
Copyright(c) 2010-2020 Zoltan Herczeg Copyright(c) 2010-2021 Zoltan Herczeg
All rights reserved. All rights reserved.
...@@ -47,7 +47,7 @@ Written by: Zoltan Herczeg ...@@ -47,7 +47,7 @@ Written by: Zoltan Herczeg
Email local part: hzmester Email local part: hzmester
Email domain: freemail.hu Email domain: freemail.hu
Copyright(c) 2009-2020 Zoltan Herczeg Copyright(c) 2009-2021 Zoltan Herczeg
All rights reserved. All rights reserved.
......
# Makefile.in generated by automake 1.16.1 from Makefile.am. # Makefile.in generated by automake 1.16.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994-2018 Free Software Foundation, Inc. # Copyright (C) 1994-2020 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -607,8 +607,8 @@ DATA = $(dist_doc_DATA) $(dist_html_DATA) $(dist_noinst_DATA) \ ...@@ -607,8 +607,8 @@ DATA = $(dist_doc_DATA) $(dist_html_DATA) $(dist_noinst_DATA) \
$(html_DATA) $(pkgconfig_DATA) $(html_DATA) $(pkgconfig_DATA)
am__include_HEADERS_DIST = pcreposix.h pcrecpp.h pcre_scanner.h am__include_HEADERS_DIST = pcreposix.h pcrecpp.h pcre_scanner.h
HEADERS = $(include_HEADERS) $(nodist_include_HEADERS) HEADERS = $(include_HEADERS) $(nodist_include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
$(LISP)config.h.in config.h.in
# Read a list of newline-separated strings from the standard input, # Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is # and print each of them once, without duplicates. Input order is
# *not* preserved. # *not* preserved.
...@@ -784,6 +784,7 @@ am__set_TESTS_bases = \ ...@@ -784,6 +784,7 @@ am__set_TESTS_bases = \
bases='$(TEST_LOGS)'; \ bases='$(TEST_LOGS)'; \
bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
bases=`echo $$bases` bases=`echo $$bases`
AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)'
RECHECK_LOGS = $(TEST_LOGS) RECHECK_LOGS = $(TEST_LOGS)
TEST_SUITE_LOG = test-suite.log TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test TEST_EXTENSIONS = @EXEEXT@ .test
...@@ -827,6 +828,8 @@ am__post_remove_distdir = $(am__remove_distdir) ...@@ -827,6 +828,8 @@ am__post_remove_distdir = $(am__remove_distdir)
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).zip DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).zip
GZIP_ENV = --best GZIP_ENV = --best
DIST_TARGETS = dist-bzip2 dist-gzip dist-zip DIST_TARGETS = dist-bzip2 dist-gzip dist-zip
# Exists only to be overridden by the user if desired.
AM_DISTCHECK_DVI_TARGET = dvi
distuninstallcheck_listfiles = find . -type f -print distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
...@@ -843,7 +846,6 @@ AWK = @AWK@ ...@@ -843,7 +846,6 @@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@ CXXCPP = @CXXCPP@
...@@ -984,6 +986,7 @@ pdfdir = @pdfdir@ ...@@ -984,6 +986,7 @@ pdfdir = @pdfdir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
psdir = @psdir@ psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@ srcdir = @srcdir@
...@@ -2788,7 +2791,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) ...@@ -2788,7 +2791,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
fi; \ fi; \
echo "$${col}$$br$${std}"; \ echo "$${col}$$br$${std}"; \
echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \
echo "$${col}$$br$${std}"; \ echo "$${col}$$br$${std}"; \
create_testsuite_report --maybe-color; \ create_testsuite_report --maybe-color; \
echo "$$col$$br$$std"; \ echo "$$col$$br$$std"; \
...@@ -2936,6 +2939,10 @@ dist-xz: distdir ...@@ -2936,6 +2939,10 @@ dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir) $(am__post_remove_distdir)
dist-zstd: distdir
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
$(am__post_remove_distdir)
dist-tarZ: distdir dist-tarZ: distdir
@echo WARNING: "Support for distribution archives compressed with" \ @echo WARNING: "Support for distribution archives compressed with" \
"legacy program 'compress' is deprecated." >&2 "legacy program 'compress' is deprecated." >&2
...@@ -2977,6 +2984,8 @@ distcheck: dist ...@@ -2977,6 +2984,8 @@ distcheck: dist
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \ *.zip*) \
unzip $(distdir).zip ;;\ unzip $(distdir).zip ;;\
*.tar.zst*) \
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
esac esac
chmod -R a-w $(distdir) chmod -R a-w $(distdir)
chmod u+w $(distdir) chmod u+w $(distdir)
...@@ -2992,7 +3001,7 @@ distcheck: dist ...@@ -2992,7 +3001,7 @@ distcheck: dist
$(DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \
--srcdir=../.. --prefix="$$dc_install_base" \ --srcdir=../.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
&& $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
...@@ -3058,7 +3067,8 @@ installdirs: ...@@ -3058,7 +3067,8 @@ installdirs:
done done
install: $(BUILT_SOURCES) install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am install-exec: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-exec-am
install-data: install-data-am install-data: install-data-am
uninstall: uninstall-am uninstall: uninstall-am
...@@ -3093,8 +3103,8 @@ maintainer-clean-generic: ...@@ -3093,8 +3103,8 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
@WITH_GCOV_FALSE@clean-local:
@WITH_GCOV_FALSE@distclean-local: @WITH_GCOV_FALSE@distclean-local:
@WITH_GCOV_FALSE@clean-local:
clean: clean-am clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
...@@ -3340,24 +3350,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ ...@@ -3340,24 +3350,24 @@ uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-man: uninstall-man1 uninstall-man3 uninstall-man: uninstall-man1 uninstall-man3
.MAKE: all check check-am install install-am install-data-am \ .MAKE: all check check-am install install-am install-data-am \
install-strip install-exec install-strip
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \ .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles am--refresh check \
check-TESTS check-am clean clean-binPROGRAMS clean-cscope \ check-TESTS check-am clean clean-binPROGRAMS clean-cscope \
clean-generic clean-libLTLIBRARIES clean-libtool clean-local \ clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \ clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip distcheck distclean distclean-compile \ dist-xz dist-zip dist-zstd distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \ distclean-compile distclean-generic distclean-hdr \
distclean-local distclean-tags distcleancheck distdir \ distclean-libtool distclean-local distclean-tags \
distuninstallcheck dvi dvi-am html html-am info info-am \ distcleancheck distdir distuninstallcheck dvi dvi-am html \
install install-am install-binPROGRAMS install-binSCRIPTS \ html-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-data-hook \ install-binSCRIPTS install-data install-data-am \
install-dist_docDATA install-dist_htmlDATA install-dvi \ install-data-hook install-dist_docDATA install-dist_htmlDATA \
install-dvi-am install-exec install-exec-am install-html \ install-dvi install-dvi-am install-exec install-exec-am \
install-html-am install-htmlDATA install-includeHEADERS \ install-html install-html-am install-htmlDATA \
install-info install-info-am install-libLTLIBRARIES \ install-includeHEADERS install-info install-info-am \
install-man install-man1 install-man3 \ install-libLTLIBRARIES install-man install-man1 install-man3 \
install-nodist_includeHEADERS install-pdf install-pdf-am \ install-nodist_includeHEADERS install-pdf install-pdf-am \
install-pkgconfigDATA install-ps install-ps-am install-strip \ install-pkgconfigDATA install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \ installcheck installcheck-am installdirs maintainer-clean \
......
News about PCRE releases News about PCRE releases
------------------------ ------------------------
Note that this library (now called PCRE1) is now being maintained for bug fixes Note that this library (now called PCRE1) is no longer being maintained. New
only. New projects are advised to use the new PCRE2 libraries. projects are advised to use the PCRE2 libraries.
Release 8.45 15-June-2021
-----------------------------
This is the final PCRE1 release. A very few small issues have been fixed.
Release 8.44 12-February-2020 Release 8.44 12-February-2020
......
...@@ -5,8 +5,8 @@ NOTE: This document relates to PCRE releases that use the original API, with ...@@ -5,8 +5,8 @@ NOTE: This document relates to PCRE releases that use the original API, with
library names libpcre, libpcre16, and libpcre32. January 2015 saw the first library names libpcre, libpcre16, and libpcre32. January 2015 saw the first
release of a new API, known as PCRE2, with release numbers starting at 10.00 release of a new API, known as PCRE2, with release numbers starting at 10.00
and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old libraries and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old libraries
(now called PCRE1) are still being maintained for bug fixes, but there will be (now called PCRE1) are now at end of life, and 8.45 is the final release. New
no new development. New projects are advised to use the new PCRE2 libraries. projects are advised to use the new PCRE2 libraries.
This document contains the following sections: This document contains the following sections:
...@@ -768,6 +768,6 @@ Everything, source and executable, is in EBCDIC and native z/OS file formats. ...@@ -768,6 +768,6 @@ Everything, source and executable, is in EBCDIC and native z/OS file formats.
However, this software is not maintained and will not be upgraded. If you are However, this software is not maintained and will not be upgraded. If you are
new to PCRE you should be looking at PCRE2 (version 10.30 or later). new to PCRE you should be looking at PCRE2 (version 10.30 or later).
=============================== ==========================
Last Updated: 13 September 2017 Last Updated: 15 June 2021
=============================== ==========================
...@@ -5,9 +5,8 @@ NOTE: This set of files relates to PCRE releases that use the original API, ...@@ -5,9 +5,8 @@ NOTE: This set of files relates to PCRE releases that use the original API,
with library names libpcre, libpcre16, and libpcre32. January 2015 saw the with library names libpcre, libpcre16, and libpcre32. January 2015 saw the
first release of a new API, known as PCRE2, with release numbers starting at first release of a new API, known as PCRE2, with release numbers starting at
10.00 and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old 10.00 and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old
libraries (now called PCRE1) are still being maintained for bug fixes, but libraries (now called PCRE1) are now at end of life, and 8.45 is the final
there will be no new development. New projects are advised to use the new PCRE2 release. New projects are advised to use the new PCRE2 libraries.
libraries.
The latest release of PCRE1 is always available in three alternative formats The latest release of PCRE1 is always available in three alternative formats
...@@ -998,6 +997,6 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx. ...@@ -998,6 +997,6 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx.
RunTest.bat a script for running tests under Windows RunTest.bat a script for running tests under Windows
Philip Hazel Philip Hazel
Email local part: ph10 Email local part: Philip.Hazel
Email domain: cam.ac.uk Email domain: gmail.com
Last updated: 12 February 2020 Last updated: 15 June 2021
# generated automatically by aclocal 1.16.1 -*- Autoconf -*- # generated automatically by aclocal 1.16.3 -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Copyright (C) 1996-2020 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
[m4_warning([this file was generated for autoconf 2.69. [m4_warning([this file was generated for autoconf 2.71.
You have another version of autoconf. It may work, but is not guaranteed to. You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically 'autoreconf'.])]) To do so, use the procedure documented by the package, typically 'autoreconf'.])])
...@@ -364,7 +364,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"], ...@@ -364,7 +364,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])]) [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
])dnl PKG_HAVE_DEFINE_WITH_MODULES ])dnl PKG_HAVE_DEFINE_WITH_MODULES
# Copyright (C) 2002-2018 Free Software Foundation, Inc. # Copyright (C) 2002-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -379,7 +379,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], ...@@ -379,7 +379,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.16' [am__api_version='1.16'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.16.1], [], m4_if([$1], [1.16.3], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
...@@ -395,12 +395,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) ...@@ -395,12 +395,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.16.1])dnl [AM_AUTOMAKE_VERSION([1.16.3])dnl
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# Copyright (C) 2011-2018 Free Software Foundation, Inc. # Copyright (C) 2011-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -462,7 +462,7 @@ AC_SUBST([AR])dnl ...@@ -462,7 +462,7 @@ AC_SUBST([AR])dnl
# AM_AUX_DIR_EXPAND -*- Autoconf -*- # AM_AUX_DIR_EXPAND -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc. # Copyright (C) 2001-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -514,7 +514,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` ...@@ -514,7 +514,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
# AM_CONDITIONAL -*- Autoconf -*- # AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997-2018 Free Software Foundation, Inc. # Copyright (C) 1997-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -545,7 +545,7 @@ AC_CONFIG_COMMANDS_PRE( ...@@ -545,7 +545,7 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]]) Usually this means the macro was only invoked conditionally.]])
fi])]) fi])])
# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Copyright (C) 1999-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -736,7 +736,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl ...@@ -736,7 +736,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*- # Generate code to set up dependency tracking. -*- Autoconf -*-
# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Copyright (C) 1999-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -775,7 +775,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], ...@@ -775,7 +775,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
done done
if test $am_rc -ne 0; then if test $am_rc -ne 0; then
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. Try re-running configure with the for automatic dependency tracking. If GNU make was not used, consider
re-running the configure script with MAKE="gmake" (or whatever is
necessary). You can also try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build '--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).]) the package (albeit without support for automatic dependency tracking).])
fi fi
...@@ -802,7 +804,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], ...@@ -802,7 +804,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*- # Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Copyright (C) 1996-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -999,7 +1001,7 @@ for _am_header in $config_headers :; do ...@@ -999,7 +1001,7 @@ for _am_header in $config_headers :; do
done done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001-2018 Free Software Foundation, Inc. # Copyright (C) 2001-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1020,7 +1022,7 @@ if test x"${install_sh+set}" != xset; then ...@@ -1020,7 +1022,7 @@ if test x"${install_sh+set}" != xset; then
fi fi
AC_SUBST([install_sh])]) AC_SUBST([install_sh])])
# Copyright (C) 2003-2018 Free Software Foundation, Inc. # Copyright (C) 2003-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1041,7 +1043,7 @@ AC_SUBST([am__leading_dot])]) ...@@ -1041,7 +1043,7 @@ AC_SUBST([am__leading_dot])])
# Check to see how 'make' treats includes. -*- Autoconf -*- # Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc. # Copyright (C) 2001-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1084,7 +1086,7 @@ AC_SUBST([am__quote])]) ...@@ -1084,7 +1086,7 @@ AC_SUBST([am__quote])])
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2018 Free Software Foundation, Inc. # Copyright (C) 1997-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1105,12 +1107,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN], ...@@ -1105,12 +1107,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then if test x"${MISSING+set}" != xset; then
case $am_aux_dir in MISSING="\${SHELL} '$am_aux_dir/missing'"
*\ * | *\ *)
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
*)
MISSING="\${SHELL} $am_aux_dir/missing" ;;
esac
fi fi
# Use eval to expand $SHELL # Use eval to expand $SHELL
if eval "$MISSING --is-lightweight"; then if eval "$MISSING --is-lightweight"; then
...@@ -1123,7 +1120,7 @@ fi ...@@ -1123,7 +1120,7 @@ fi
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
# Copyright (C) 2001-2018 Free Software Foundation, Inc. # Copyright (C) 2001-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1152,7 +1149,7 @@ AC_DEFUN([_AM_SET_OPTIONS], ...@@ -1152,7 +1149,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION], AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Copyright (C) 1999-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1199,7 +1196,7 @@ AC_LANG_POP([C])]) ...@@ -1199,7 +1196,7 @@ AC_LANG_POP([C])])
# For backward compatibility. # For backward compatibility.
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
# Copyright (C) 2001-2018 Free Software Foundation, Inc. # Copyright (C) 2001-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1218,7 +1215,7 @@ AC_DEFUN([AM_RUN_LOG], ...@@ -1218,7 +1215,7 @@ AC_DEFUN([AM_RUN_LOG],
# Check to make sure that the build environment is sane. -*- Autoconf -*- # Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Copyright (C) 1996-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1299,7 +1296,7 @@ AC_CONFIG_COMMANDS_PRE( ...@@ -1299,7 +1296,7 @@ AC_CONFIG_COMMANDS_PRE(
rm -f conftest.file rm -f conftest.file
]) ])
# Copyright (C) 2009-2018 Free Software Foundation, Inc. # Copyright (C) 2009-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1359,7 +1356,7 @@ AC_SUBST([AM_BACKSLASH])dnl ...@@ -1359,7 +1356,7 @@ AC_SUBST([AM_BACKSLASH])dnl
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
]) ])
# Copyright (C) 2001-2018 Free Software Foundation, Inc. # Copyright (C) 2001-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1387,7 +1384,7 @@ fi ...@@ -1387,7 +1384,7 @@ fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006-2018 Free Software Foundation, Inc. # Copyright (C) 2006-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
...@@ -1406,7 +1403,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) ...@@ -1406,7 +1403,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
# Check how to create a tarball. -*- Autoconf -*- # Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004-2018 Free Software Foundation, Inc. # Copyright (C) 2004-2020 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
# Wrapper for Microsoft lib.exe # Wrapper for Microsoft lib.exe
me=ar-lib me=ar-lib
scriptversion=2012-03-01.08; # UTC scriptversion=2019-07-04.01; # UTC
# Copyright (C) 2010-2018 Free Software Foundation, Inc. # Copyright (C) 2010-2020 Free Software Foundation, Inc.
# Written by Peter Rosin <peda@lysator.liu.se>. # Written by Peter Rosin <peda@lysator.liu.se>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
...@@ -53,7 +53,7 @@ func_file_conv () ...@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*) MINGW*)
file_conv=mingw file_conv=mingw
;; ;;
CYGWIN*) CYGWIN* | MSYS*)
file_conv=cygwin file_conv=cygwin
;; ;;
*) *)
...@@ -65,7 +65,7 @@ func_file_conv () ...@@ -65,7 +65,7 @@ func_file_conv ()
mingw) mingw)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;; ;;
cygwin) cygwin | msys)
file=`cygpath -m "$file" || echo "$file"` file=`cygpath -m "$file" || echo "$file"`
;; ;;
wine) wine)
...@@ -224,7 +224,8 @@ elif test -n "$extract"; then ...@@ -224,7 +224,8 @@ elif test -n "$extract"; then
esac esac
done done
else else
$AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \
| while read member
do do
$AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
done done
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Copyright (C) 1999-2020 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
...@@ -53,7 +53,7 @@ func_file_conv () ...@@ -53,7 +53,7 @@ func_file_conv ()
MINGW*) MINGW*)
file_conv=mingw file_conv=mingw
;; ;;
CYGWIN*) CYGWIN* | MSYS*)
file_conv=cygwin file_conv=cygwin
;; ;;
*) *)
...@@ -67,7 +67,7 @@ func_file_conv () ...@@ -67,7 +67,7 @@ func_file_conv ()
mingw/*) mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;; ;;
cygwin/*) cygwin/* | msys/*)
file=`cygpath -m "$file" || echo "$file"` file=`cygpath -m "$file" || echo "$file"`
;; ;;
wine/*) wine/*)
......
This diff is collapsed.
...@@ -84,9 +84,6 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -84,9 +84,6 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if you have the `memmove' function. */ /* Define to 1 if you have the `memmove' function. */
/* #undef HAVE_MEMMOVE */ /* #undef HAVE_MEMMOVE */
/* Define to 1 if you have the <memory.h> header file. */
/* #undef HAVE_MEMORY_H */
/* Define if you have POSIX threads libraries and header files. */ /* Define if you have POSIX threads libraries and header files. */
/* #undef HAVE_PTHREAD */ /* #undef HAVE_PTHREAD */
...@@ -102,6 +99,9 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -102,6 +99,9 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdint.h> header file. */
/* #undef HAVE_STDINT_H */ /* #undef HAVE_STDINT_H */
/* Define to 1 if you have the <stdio.h> header file. */
/* #undef HAVE_STDIO_H */
/* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
/* #undef HAVE_STDLIB_H */ /* #undef HAVE_STDLIB_H */
...@@ -235,7 +235,7 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -235,7 +235,7 @@ sure both macros are undefined; an emulation function will then be used. */
#define PACKAGE_NAME "PCRE" #define PACKAGE_NAME "PCRE"
/* Define to the full name and version of this package. */ /* Define to the full name and version of this package. */
#define PACKAGE_STRING "PCRE 8.44" #define PACKAGE_STRING "PCRE 8.45"
/* Define to the one symbol short name of this package. */ /* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "pcre" #define PACKAGE_TARNAME "pcre"
...@@ -244,7 +244,7 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -244,7 +244,7 @@ sure both macros are undefined; an emulation function will then be used. */
#define PACKAGE_URL "" #define PACKAGE_URL ""
/* Define to the version of this package. */ /* Define to the version of this package. */
#define PACKAGE_VERSION "8.44" #define PACKAGE_VERSION "8.45"
/* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested
parentheses (of any kind) in a pattern. This limits the amount of system parentheses (of any kind) in a pattern. This limits the amount of system
...@@ -291,7 +291,9 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -291,7 +291,9 @@ sure both macros are undefined; an emulation function will then be used. */
your system. */ your system. */
/* #undef PTHREAD_CREATE_JOINABLE */ /* #undef PTHREAD_CREATE_JOINABLE */
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
/* #undef STDC_HEADERS */ /* #undef STDC_HEADERS */
/* Define to any value to enable support for Just-In-Time compiling. */ /* Define to any value to enable support for Just-In-Time compiling. */
...@@ -336,7 +338,7 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -336,7 +338,7 @@ sure both macros are undefined; an emulation function will then be used. */
/* #undef SUPPORT_VALGRIND */ /* #undef SUPPORT_VALGRIND */
/* Version number of package */ /* Version number of package */
#define VERSION "8.44" #define VERSION "8.45"
/* Define to empty if `const' does not conform to ANSI C. */ /* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */ /* #undef const */
......
...@@ -84,9 +84,6 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -84,9 +84,6 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if you have the `memmove' function. */ /* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE #undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define if you have POSIX threads libraries and header files. */ /* Define if you have POSIX threads libraries and header files. */
#undef HAVE_PTHREAD #undef HAVE_PTHREAD
...@@ -102,6 +99,9 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -102,6 +99,9 @@ sure both macros are undefined; an emulation function will then be used. */
/* Define to 1 if you have the <stdint.h> header file. */ /* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H #undef HAVE_STDINT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H
/* Define to 1 if you have the <stdlib.h> header file. */ /* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H #undef HAVE_STDLIB_H
...@@ -289,7 +289,9 @@ sure both macros are undefined; an emulation function will then be used. */ ...@@ -289,7 +289,9 @@ sure both macros are undefined; an emulation function will then be used. */
your system. */ your system. */
#undef PTHREAD_CREATE_JOINABLE #undef PTHREAD_CREATE_JOINABLE
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS #undef STDC_HEADERS
/* Define to any value to enable support for Just-In-Time compiling. */ /* Define to any value to enable support for Just-In-Time compiling. */
......
This diff is collapsed.
This diff is collapsed.
...@@ -9,17 +9,17 @@ dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might ...@@ -9,17 +9,17 @@ dnl The PCRE_PRERELEASE feature is for identifying release candidates. It might
dnl be defined as -RC2, for example. For real releases, it should be empty. dnl be defined as -RC2, for example. For real releases, it should be empty.
m4_define(pcre_major, [8]) m4_define(pcre_major, [8])
m4_define(pcre_minor, [44]) m4_define(pcre_minor, [45])
m4_define(pcre_prerelease, []) m4_define(pcre_prerelease, [])
m4_define(pcre_date, [2020-02-12]) m4_define(pcre_date, [2021-06-15])
# NOTE: The CMakeLists.txt file searches for the above variables in the first # NOTE: The CMakeLists.txt file searches for the above variables in the first
# 50 lines of this file. Please update that if the variables above are moved. # 50 lines of this file. Please update that if the variables above are moved.
# Libtool shared library interface versions (current:revision:age) # Libtool shared library interface versions (current:revision:age)
m4_define(libpcre_version, [3:12:2]) m4_define(libpcre_version, [3:13:2])
m4_define(libpcre16_version, [2:12:2]) m4_define(libpcre16_version, [2:13:2])
m4_define(libpcre32_version, [0:12:0]) m4_define(libpcre32_version, [0:13:0])
m4_define(libpcreposix_version, [0:7:0]) m4_define(libpcreposix_version, [0:7:0])
m4_define(libpcrecpp_version, [0:2:0]) m4_define(libpcrecpp_version, [0:2:0])
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
scriptversion=2018-03-07.03; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Copyright (C) 1999-2020 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
......
...@@ -5,8 +5,8 @@ NOTE: This document relates to PCRE releases that use the original API, with ...@@ -5,8 +5,8 @@ NOTE: This document relates to PCRE releases that use the original API, with
library names libpcre, libpcre16, and libpcre32. January 2015 saw the first library names libpcre, libpcre16, and libpcre32. January 2015 saw the first
release of a new API, known as PCRE2, with release numbers starting at 10.00 release of a new API, known as PCRE2, with release numbers starting at 10.00
and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old libraries and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old libraries
(now called PCRE1) are still being maintained for bug fixes, but there will be (now called PCRE1) are now at end of life, and 8.45 is the final release. New
no new development. New projects are advised to use the new PCRE2 libraries. projects are advised to use the new PCRE2 libraries.
This document contains the following sections: This document contains the following sections:
...@@ -768,6 +768,6 @@ Everything, source and executable, is in EBCDIC and native z/OS file formats. ...@@ -768,6 +768,6 @@ Everything, source and executable, is in EBCDIC and native z/OS file formats.
However, this software is not maintained and will not be upgraded. If you are However, this software is not maintained and will not be upgraded. If you are
new to PCRE you should be looking at PCRE2 (version 10.30 or later). new to PCRE you should be looking at PCRE2 (version 10.30 or later).
=============================== ==========================
Last Updated: 13 September 2017 Last Updated: 15 June 2021
=============================== ==========================
...@@ -5,9 +5,8 @@ NOTE: This set of files relates to PCRE releases that use the original API, ...@@ -5,9 +5,8 @@ NOTE: This set of files relates to PCRE releases that use the original API,
with library names libpcre, libpcre16, and libpcre32. January 2015 saw the with library names libpcre, libpcre16, and libpcre32. January 2015 saw the
first release of a new API, known as PCRE2, with release numbers starting at first release of a new API, known as PCRE2, with release numbers starting at
10.00 and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old 10.00 and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old
libraries (now called PCRE1) are still being maintained for bug fixes, but libraries (now called PCRE1) are now at end of life, and 8.45 is the final
there will be no new development. New projects are advised to use the new PCRE2 release. New projects are advised to use the new PCRE2 libraries.
libraries.
The latest release of PCRE1 is always available in three alternative formats The latest release of PCRE1 is always available in three alternative formats
...@@ -998,6 +997,6 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx. ...@@ -998,6 +997,6 @@ pcre_xxx, one with the name pcre16_xx, and a third with the name pcre32_xxx.
RunTest.bat a script for running tests under Windows RunTest.bat a script for running tests under Windows
Philip Hazel Philip Hazel
Email local part: ph10 Email local part: Philip.Hazel
Email domain: cam.ac.uk Email domain: gmail.com
Last updated: 12 February 2020 Last updated: 15 June 2021
...@@ -22,13 +22,12 @@ man page, in case the conversion went wrong. ...@@ -22,13 +22,12 @@ man page, in case the conversion went wrong.
</ul> </ul>
<br><a name="SEC1" href="#TOC1">PLEASE TAKE NOTE</a><br> <br><a name="SEC1" href="#TOC1">PLEASE TAKE NOTE</a><br>
<P> <P>
This document relates to PCRE releases that use the original API, This document relates to PCRE releases that use the original API, with library
with library names libpcre, libpcre16, and libpcre32. January 2015 saw the names libpcre, libpcre16, and libpcre32. January 2015 saw the first release of
first release of a new API, known as PCRE2, with release numbers starting at a new API, known as PCRE2, with release numbers starting at 10.00 and library
10.00 and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old names libpcre2-8, libpcre2-16, and libpcre2-32. The old libraries (now called
libraries (now called PCRE1) are still being maintained for bug fixes, but PCRE1) are now at end of life, and 8.45 is the final release. New projects are
there will be no new development. New projects are advised to use the new PCRE2 advised to use the new PCRE2 libraries.
libraries.
</P> </P>
<br><a name="SEC2" href="#TOC1">INTRODUCTION</a><br> <br><a name="SEC2" href="#TOC1">INTRODUCTION</a><br>
<P> <P>
...@@ -215,9 +214,9 @@ two digits 10, at the domain cam.ac.uk. ...@@ -215,9 +214,9 @@ two digits 10, at the domain cam.ac.uk.
</P> </P>
<br><a name="SEC6" href="#TOC1">REVISION</a><br> <br><a name="SEC6" href="#TOC1">REVISION</a><br>
<P> <P>
Last updated: 10 February 2015 Last updated: 14 June 2021
<br> <br>
Copyright &copy; 1997-2015 University of Cambridge. Copyright &copy; 1997-2021 University of Cambridge.
<br> <br>
<p> <p>
Return to the <a href="index.html">PCRE index page</a>. Return to the <a href="index.html">PCRE index page</a>.
......
...@@ -1718,7 +1718,7 @@ very long time, and so the <i>match_limit</i> value is also used in this case ...@@ -1718,7 +1718,7 @@ very long time, and so the <i>match_limit</i> value is also used in this case
<P> <P>
The default value for the limit can be set when PCRE is built; the default The default value for the limit can be set when PCRE is built; the default
default is 10 million, which handles all but the most extreme cases. You can default is 10 million, which handles all but the most extreme cases. You can
override the default by suppling <b>pcre_exec()</b> with a <b>pcre_extra</b> override the default by supplying <b>pcre_exec()</b> with a <b>pcre_extra</b>
block in which <i>match_limit</i> is set, and PCRE_EXTRA_MATCH_LIMIT is set in block in which <i>match_limit</i> is set, and PCRE_EXTRA_MATCH_LIMIT is set in
the <i>flags</i> field. If the limit is exceeded, <b>pcre_exec()</b> returns the <i>flags</i> field. If the limit is exceeded, <b>pcre_exec()</b> returns
PCRE_ERROR_MATCHLIMIT. PCRE_ERROR_MATCHLIMIT.
...@@ -1749,7 +1749,7 @@ and is ignored, when matching is done using JIT compiled code. ...@@ -1749,7 +1749,7 @@ and is ignored, when matching is done using JIT compiled code.
<P> <P>
The default value for <i>match_limit_recursion</i> can be set when PCRE is The default value for <i>match_limit_recursion</i> can be set when PCRE is
built; the default default is the same value as the default for built; the default default is the same value as the default for
<i>match_limit</i>. You can override the default by suppling <b>pcre_exec()</b> <i>match_limit</i>. You can override the default by supplying <b>pcre_exec()</b>
with a <b>pcre_extra</b> block in which <i>match_limit_recursion</i> is set, and with a <b>pcre_extra</b> block in which <i>match_limit_recursion</i> is set, and
PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in the <i>flags</i> field. If the limit PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in the <i>flags</i> field. If the limit
is exceeded, <b>pcre_exec()</b> returns PCRE_ERROR_RECURSIONLIMIT. is exceeded, <b>pcre_exec()</b> returns PCRE_ERROR_RECURSIONLIMIT.
...@@ -2063,10 +2063,10 @@ lookbehind. For example, consider the pattern ...@@ -2063,10 +2063,10 @@ lookbehind. For example, consider the pattern
</pre> </pre>
which finds occurrences of "iss" in the middle of words. (\B matches only if which finds occurrences of "iss" in the middle of words. (\B matches only if
the current position in the subject is not a word boundary.) When applied to the current position in the subject is not a word boundary.) When applied to
the string "Mississipi" the first call to <b>pcre_exec()</b> finds the first the string "Mississippi" the first call to <b>pcre_exec()</b> finds the first
occurrence. If <b>pcre_exec()</b> is called again with just the remainder of the occurrence. If <b>pcre_exec()</b> is called again with just the remainder of the
subject, namely "issipi", it does not match, because \B is always false at the subject, namely "issippi", it does not match, because \B is always false at
start of the subject, which is deemed to be a word boundary. However, if the start of the subject, which is deemed to be a word boundary. However, if
<b>pcre_exec()</b> is passed the entire string again, but with <i>startoffset</i> <b>pcre_exec()</b> is passed the entire string again, but with <i>startoffset</i>
set to 4, it finds the second occurrence of "iss" because it is able to look set to 4, it finds the second occurrence of "iss" because it is able to look
behind the starting point to discover that it is preceded by a letter. behind the starting point to discover that it is preceded by a letter.
......
...@@ -161,7 +161,7 @@ if (rc &lt; 0) ...@@ -161,7 +161,7 @@ if (rc &lt; 0)
return 1; return 1;
} }
/* Match succeded */ /* Match succeeded */
printf("\nMatch succeeded at offset %d\n", ovector[0]); printf("\nMatch succeeded at offset %d\n", ovector[0]);
...@@ -379,7 +379,7 @@ for (;;) ...@@ -379,7 +379,7 @@ for (;;)
return 1; return 1;
} }
/* Match succeded */ /* Match succeeded */
printf("\nMatch succeeded again at offset %d\n", ovector[0]); printf("\nMatch succeeded again at offset %d\n", ovector[0]);
......
...@@ -299,7 +299,7 @@ recommended. ...@@ -299,7 +299,7 @@ recommended.
This is a suggestion for how a multithreaded program that needs to set up This is a suggestion for how a multithreaded program that needs to set up
non-default JIT stacks might operate: non-default JIT stacks might operate:
<pre> <pre>
During thread initalization During thread initialization
thread_local_var = pcre_jit_stack_alloc(...) thread_local_var = pcre_jit_stack_alloc(...)
During thread exit During thread exit
......
...@@ -655,7 +655,7 @@ recognized. ...@@ -655,7 +655,7 @@ recognized.
<P> <P>
It is possible to restrict \R to match only CR, LF, or CRLF (instead of the It is possible to restrict \R to match only CR, LF, or CRLF (instead of the
complete set of Unicode line endings) by setting the option PCRE_BSR_ANYCRLF complete set of Unicode line endings) by setting the option PCRE_BSR_ANYCRLF
either at compile time or when the pattern is matched. (BSR is an abbrevation either at compile time or when the pattern is matched. (BSR is an abbreviation
for "backslash R".) This can be made the default when PCRE is built; if this is for "backslash R".) This can be made the default when PCRE is built; if this is
the case, the other behaviour can be requested via the PCRE_BSR_UNICODE option. the case, the other behaviour can be requested via the PCRE_BSR_UNICODE option.
It is also possible to specify these settings by starting a pattern string with It is also possible to specify these settings by starting a pattern string with
...@@ -972,7 +972,7 @@ additional characters according to the following rules for ending a cluster: ...@@ -972,7 +972,7 @@ additional characters according to the following rules for ending a cluster:
3. Do not break Hangul (a Korean script) syllable sequences. Hangul characters 3. Do not break Hangul (a Korean script) syllable sequences. Hangul characters
are of five types: L, V, T, LV, and LVT. An L character may be followed by an are of five types: L, V, T, LV, and LVT. An L character may be followed by an
L, V, LV, or LVT character; an LV or V character may be followed by a V or T L, V, LV, or LVT character; an LV or V character may be followed by a V or T
character; an LVT or T character may be follwed only by a T character. character; an LVT or T character may be followed only by a T character.
</P> </P>
<P> <P>
4. Do not end before extending characters or spacing marks. Characters with 4. Do not end before extending characters or spacing marks. Characters with
...@@ -3080,7 +3080,7 @@ successful match. Consider: ...@@ -3080,7 +3080,7 @@ successful match. Consider:
</pre> </pre>
If the subject is "aaaac...", after the first match attempt fails (starting at If the subject is "aaaac...", after the first match attempt fails (starting at
the first character in the string), the starting point skips on to start the the first character in the string), the starting point skips on to start the
next attempt at "c". Note that a possessive quantifer does not have the same next attempt at "c". Note that a possessive quantifier does not have the same
effect as this example; although it would suppress backtracking during the effect as this example; although it would suppress backtracking during the
first match attempt, the second attempt would start at the second character first match attempt, the second attempt would start at the second character
instead of skipping on to "c". instead of skipping on to "c".
......
...@@ -157,7 +157,7 @@ is changed to use Unicode properties and they match many more characters. ...@@ -157,7 +157,7 @@ is changed to use Unicode properties and they match many more characters.
Xan Alphanumeric: union of properties L and N Xan Alphanumeric: union of properties L and N
Xps POSIX space: property Z or tab, NL, VT, FF, CR Xps POSIX space: property Z or tab, NL, VT, FF, CR
Xsp Perl space: property Z or tab, NL, VT, FF, CR Xsp Perl space: property Z or tab, NL, VT, FF, CR
Xuc Univerally-named character: one that can be Xuc Universally-named character: one that can be
represented by a Universal Character Name represented by a Universal Character Name
Xwd Perl word: property Xan or underscore Xwd Perl word: property Xan or underscore
</pre> </pre>
......
.TH PCRE 3 "10 February 2015" "PCRE 8.37" .TH PCRE 3 "14 June 2021" "PCRE 8.45"
.SH NAME .SH NAME
PCRE - Perl-compatible regular expressions (original API) PCRE - Perl-compatible regular expressions (original API)
.SH "PLEASE TAKE NOTE" .SH "PLEASE TAKE NOTE"
.rs .rs
.sp .sp
This document relates to PCRE releases that use the original API, This document relates to PCRE releases that use the original API, with library
with library names libpcre, libpcre16, and libpcre32. January 2015 saw the names libpcre, libpcre16, and libpcre32. January 2015 saw the first release of
first release of a new API, known as PCRE2, with release numbers starting at a new API, known as PCRE2, with release numbers starting at 10.00 and library
10.00 and library names libpcre2-8, libpcre2-16, and libpcre2-32. The old names libpcre2-8, libpcre2-16, and libpcre2-32. The old libraries (now called
libraries (now called PCRE1) are still being maintained for bug fixes, but PCRE1) are now at end of life, and 8.45 is the final release. New projects are
there will be no new development. New projects are advised to use the new PCRE2 advised to use the new PCRE2 libraries.
libraries.
. .
. .
.SH INTRODUCTION .SH INTRODUCTION
...@@ -225,6 +224,6 @@ two digits 10, at the domain cam.ac.uk. ...@@ -225,6 +224,6 @@ two digits 10, at the domain cam.ac.uk.
.rs .rs
.sp .sp
.nf .nf
Last updated: 10 February 2015 Last updated: 14 June 2021
Copyright (c) 1997-2015 University of Cambridge. Copyright (c) 1997-2021 University of Cambridge.
.fi .fi
...@@ -21,9 +21,9 @@ PLEASE TAKE NOTE ...@@ -21,9 +21,9 @@ PLEASE TAKE NOTE
library names libpcre, libpcre16, and libpcre32. January 2015 saw the library names libpcre, libpcre16, and libpcre32. January 2015 saw the
first release of a new API, known as PCRE2, with release numbers start- first release of a new API, known as PCRE2, with release numbers start-
ing at 10.00 and library names libpcre2-8, libpcre2-16, and ing at 10.00 and library names libpcre2-8, libpcre2-16, and
libpcre2-32. The old libraries (now called PCRE1) are still being main- libpcre2-32. The old libraries (now called PCRE1) are now at end of
tained for bug fixes, but there will be no new development. New life, and 8.45 is the final release. New projects are advised to use
projects are advised to use the new PCRE2 libraries. the new PCRE2 libraries.
INTRODUCTION INTRODUCTION
...@@ -190,8 +190,8 @@ AUTHOR ...@@ -190,8 +190,8 @@ AUTHOR
REVISION REVISION
Last updated: 10 February 2015 Last updated: 14 June 2021
Copyright (c) 1997-2015 University of Cambridge. Copyright (c) 1997-2021 University of Cambridge.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
...@@ -3155,7 +3155,7 @@ MATCHING A PATTERN: THE TRADITIONAL FUNCTION ...@@ -3155,7 +3155,7 @@ MATCHING A PATTERN: THE TRADITIONAL FUNCTION
The default value for the limit can be set when PCRE is built; the de- The default value for the limit can be set when PCRE is built; the de-
fault default is 10 million, which handles all but the most extreme fault default is 10 million, which handles all but the most extreme
cases. You can override the default by suppling pcre_exec() with a cases. You can override the default by supplying pcre_exec() with a
pcre_extra block in which match_limit is set, and PCRE_EX- pcre_extra block in which match_limit is set, and PCRE_EX-
TRA_MATCH_LIMIT is set in the flags field. If the limit is exceeded, TRA_MATCH_LIMIT is set in the flags field. If the limit is exceeded,
pcre_exec() returns PCRE_ERROR_MATCHLIMIT. pcre_exec() returns PCRE_ERROR_MATCHLIMIT.
...@@ -3183,7 +3183,7 @@ MATCHING A PATTERN: THE TRADITIONAL FUNCTION ...@@ -3183,7 +3183,7 @@ MATCHING A PATTERN: THE TRADITIONAL FUNCTION
The default value for match_limit_recursion can be set when PCRE is The default value for match_limit_recursion can be set when PCRE is
built; the default default is the same value as the default for built; the default default is the same value as the default for
match_limit. You can override the default by suppling pcre_exec() with match_limit. You can override the default by supplying pcre_exec() with
a pcre_extra block in which match_limit_recursion is set, and PCRE_EX- a pcre_extra block in which match_limit_recursion is set, and PCRE_EX-
TRA_MATCH_LIMIT_RECURSION is set in the flags field. If the limit is TRA_MATCH_LIMIT_RECURSION is set in the flags field. If the limit is
exceeded, pcre_exec() returns PCRE_ERROR_RECURSIONLIMIT. exceeded, pcre_exec() returns PCRE_ERROR_RECURSIONLIMIT.
...@@ -3475,9 +3475,9 @@ MATCHING A PATTERN: THE TRADITIONAL FUNCTION ...@@ -3475,9 +3475,9 @@ MATCHING A PATTERN: THE TRADITIONAL FUNCTION
which finds occurrences of "iss" in the middle of words. (\B matches which finds occurrences of "iss" in the middle of words. (\B matches
only if the current position in the subject is not a word boundary.) only if the current position in the subject is not a word boundary.)
When applied to the string "Mississipi" the first call to pcre_exec() When applied to the string "Mississippi" the first call to pcre_exec()
finds the first occurrence. If pcre_exec() is called again with just finds the first occurrence. If pcre_exec() is called again with just
the remainder of the subject, namely "issipi", it does not match, be- the remainder of the subject, namely "issippi", it does not match, be-
cause \B is always false at the start of the subject, which is deemed cause \B is always false at the start of the subject, which is deemed
to be a word boundary. However, if pcre_exec() is passed the entire to be a word boundary. However, if pcre_exec() is passed the entire
string again, but with startoffset set to 4, it finds the second occur- string again, but with startoffset set to 4, it finds the second occur-
...@@ -5292,11 +5292,11 @@ BACKSLASH ...@@ -5292,11 +5292,11 @@ BACKSLASH
It is possible to restrict \R to match only CR, LF, or CRLF (instead of It is possible to restrict \R to match only CR, LF, or CRLF (instead of
the complete set of Unicode line endings) by setting the option the complete set of Unicode line endings) by setting the option
PCRE_BSR_ANYCRLF either at compile time or when the pattern is matched. PCRE_BSR_ANYCRLF either at compile time or when the pattern is matched.
(BSR is an abbrevation for "backslash R".) This can be made the default (BSR is an abbreviation for "backslash R".) This can be made the de-
when PCRE is built; if this is the case, the other behaviour can be re- fault when PCRE is built; if this is the case, the other behaviour can
quested via the PCRE_BSR_UNICODE option. It is also possible to spec- be requested via the PCRE_BSR_UNICODE option. It is also possible to
ify these settings by starting a pattern string with one of the follow- specify these settings by starting a pattern string with one of the
ing sequences: following sequences:
(*BSR_ANYCRLF) CR, LF, or CRLF only (*BSR_ANYCRLF) CR, LF, or CRLF only
(*BSR_UNICODE) any Unicode newline sequence (*BSR_UNICODE) any Unicode newline sequence
...@@ -5488,8 +5488,8 @@ BACKSLASH ...@@ -5488,8 +5488,8 @@ BACKSLASH
3. Do not break Hangul (a Korean script) syllable sequences. Hangul 3. Do not break Hangul (a Korean script) syllable sequences. Hangul
characters are of five types: L, V, T, LV, and LVT. An L character may characters are of five types: L, V, T, LV, and LVT. An L character may
be followed by an L, V, LV, or LVT character; an LV or V character may be followed by an L, V, LV, or LVT character; an LV or V character may
be followed by a V or T character; an LVT or T character may be follwed be followed by a V or T character; an LVT or T character may be fol-
only by a T character. lowed only by a T character.
4. Do not end before extending characters or spacing marks. Characters 4. Do not end before extending characters or spacing marks. Characters
with the "mark" property always have the "extend" grapheme breaking with the "mark" property always have the "extend" grapheme breaking
...@@ -7494,7 +7494,7 @@ BACKTRACKING CONTROL ...@@ -7494,7 +7494,7 @@ BACKTRACKING CONTROL
If the subject is "aaaac...", after the first match attempt fails If the subject is "aaaac...", after the first match attempt fails
(starting at the first character in the string), the starting point (starting at the first character in the string), the starting point
skips on to start the next attempt at "c". Note that a possessive quan- skips on to start the next attempt at "c". Note that a possessive quan-
tifer does not have the same effect as this example; although it would tifier does not have the same effect as this example; although it would
suppress backtracking during the first match attempt, the second at- suppress backtracking during the first match attempt, the second at-
tempt would start at the second character instead of skipping on to tempt would start at the second character instead of skipping on to
"c". "c".
...@@ -7793,7 +7793,7 @@ PCRE SPECIAL CATEGORY PROPERTIES FOR \p and \P ...@@ -7793,7 +7793,7 @@ PCRE SPECIAL CATEGORY PROPERTIES FOR \p and \P
Xan Alphanumeric: union of properties L and N Xan Alphanumeric: union of properties L and N
Xps POSIX space: property Z or tab, NL, VT, FF, CR Xps POSIX space: property Z or tab, NL, VT, FF, CR
Xsp Perl space: property Z or tab, NL, VT, FF, CR Xsp Perl space: property Z or tab, NL, VT, FF, CR
Xuc Univerally-named character: one that can be Xuc Universally-named character: one that can be
represented by a Universal Character Name represented by a Universal Character Name
Xwd Perl word: property Xan or underscore Xwd Perl word: property Xan or underscore
...@@ -8571,7 +8571,7 @@ CONTROLLING THE JIT STACK ...@@ -8571,7 +8571,7 @@ CONTROLLING THE JIT STACK
This is a suggestion for how a multithreaded program that needs to set This is a suggestion for how a multithreaded program that needs to set
up non-default JIT stacks might operate: up non-default JIT stacks might operate:
During thread initalization During thread initialization
thread_local_var = pcre_jit_stack_alloc(...) thread_local_var = pcre_jit_stack_alloc(...)
During thread exit During thread exit
......
...@@ -1699,7 +1699,7 @@ very long time, and so the \fImatch_limit\fP value is also used in this case ...@@ -1699,7 +1699,7 @@ very long time, and so the \fImatch_limit\fP value is also used in this case
.P .P
The default value for the limit can be set when PCRE is built; the default The default value for the limit can be set when PCRE is built; the default
default is 10 million, which handles all but the most extreme cases. You can default is 10 million, which handles all but the most extreme cases. You can
override the default by suppling \fBpcre_exec()\fP with a \fBpcre_extra\fP override the default by supplying \fBpcre_exec()\fP with a \fBpcre_extra\fP
block in which \fImatch_limit\fP is set, and PCRE_EXTRA_MATCH_LIMIT is set in block in which \fImatch_limit\fP is set, and PCRE_EXTRA_MATCH_LIMIT is set in
the \fIflags\fP field. If the limit is exceeded, \fBpcre_exec()\fP returns the \fIflags\fP field. If the limit is exceeded, \fBpcre_exec()\fP returns
PCRE_ERROR_MATCHLIMIT. PCRE_ERROR_MATCHLIMIT.
...@@ -1726,7 +1726,7 @@ and is ignored, when matching is done using JIT compiled code. ...@@ -1726,7 +1726,7 @@ and is ignored, when matching is done using JIT compiled code.
.P .P
The default value for \fImatch_limit_recursion\fP can be set when PCRE is The default value for \fImatch_limit_recursion\fP can be set when PCRE is
built; the default default is the same value as the default for built; the default default is the same value as the default for
\fImatch_limit\fP. You can override the default by suppling \fBpcre_exec()\fP \fImatch_limit\fP. You can override the default by supplying \fBpcre_exec()\fP
with a \fBpcre_extra\fP block in which \fImatch_limit_recursion\fP is set, and with a \fBpcre_extra\fP block in which \fImatch_limit_recursion\fP is set, and
PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in the \fIflags\fP field. If the limit PCRE_EXTRA_MATCH_LIMIT_RECURSION is set in the \fIflags\fP field. If the limit
is exceeded, \fBpcre_exec()\fP returns PCRE_ERROR_RECURSIONLIMIT. is exceeded, \fBpcre_exec()\fP returns PCRE_ERROR_RECURSIONLIMIT.
...@@ -2044,10 +2044,10 @@ lookbehind. For example, consider the pattern ...@@ -2044,10 +2044,10 @@ lookbehind. For example, consider the pattern
.sp .sp
which finds occurrences of "iss" in the middle of words. (\eB matches only if which finds occurrences of "iss" in the middle of words. (\eB matches only if
the current position in the subject is not a word boundary.) When applied to the current position in the subject is not a word boundary.) When applied to
the string "Mississipi" the first call to \fBpcre_exec()\fP finds the first the string "Mississippi" the first call to \fBpcre_exec()\fP finds the first
occurrence. If \fBpcre_exec()\fP is called again with just the remainder of the occurrence. If \fBpcre_exec()\fP is called again with just the remainder of the
subject, namely "issipi", it does not match, because \eB is always false at the subject, namely "issippi", it does not match, because \eB is always false at
start of the subject, which is deemed to be a word boundary. However, if the start of the subject, which is deemed to be a word boundary. However, if
\fBpcre_exec()\fP is passed the entire string again, but with \fIstartoffset\fP \fBpcre_exec()\fP is passed the entire string again, but with \fIstartoffset\fP
set to 4, it finds the second occurrence of "iss" because it is able to look set to 4, it finds the second occurrence of "iss" because it is able to look
behind the starting point to discover that it is preceded by a letter. behind the starting point to discover that it is preceded by a letter.
......
This diff is collapsed.
...@@ -285,7 +285,7 @@ recommended. ...@@ -285,7 +285,7 @@ recommended.
This is a suggestion for how a multithreaded program that needs to set up This is a suggestion for how a multithreaded program that needs to set up
non-default JIT stacks might operate: non-default JIT stacks might operate:
.sp .sp
During thread initalization During thread initialization
thread_local_var = pcre_jit_stack_alloc(...) thread_local_var = pcre_jit_stack_alloc(...)
.sp .sp
During thread exit During thread exit
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment