git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 06/19] Makefile & configure: reword outdated comment about PCRE

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Apr 25, 2017, 21:05 UTC
Message-ID
<20170425210548.24612-7-avarab@gmail.com>
In-Reply-To
<20170425210548.24612-1-avarab@gmail.com>

Reword an outdated comment which suggests that only git-grep can use PCRE.

This comment was added back when PCRE support was initially added in commit 63e7e9d8b6 ("git-grep: Learn PCRE", 2011-05-09), and was true at the time.

It hasn't been telling the full truth since git-log learned to use PCRE with --grep in commit 727b6fc3ed ("log --grep: accept --basic-regexp and --perl-regexp", 2012-10-03), and more importantly is likely to get more inaccurate over time as more use is made of PCRE in other areas.

Reword it to be more future-proof, and to more clearly explain that this enables user-initiated runtime behavior.

Copy/pasting this so much in configure.ac is lame, these Makefile-like flags aren't even used by autoconf, just the corresponding --with[out]-* options. But copy/pasting the comments that make sense for the Makefile to configure.ac where they make less sence is the pattern everything else follows in that file. I'm not going to war against that as part of this change, just following the existing pattern.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Makefile     |  6 ++++--
 configure.ac | 12 ++++++++----
 2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index eb1a1a7cff..2e63b1cfcc 100644
--- a/Makefile
+++ b/Makefile
@@ -24,8 +24,10 @@ all::
 # Define NO_OPENSSL environment variable if you do not have OpenSSL.
 # This also implies BLK_SHA1.
 #
-# Define USE_LIBPCRE if you have and want to use libpcre. git-grep will be
-# able to use Perl-compatible regular expressions.
+# Define USE_LIBPCRE if you have and want to use libpcre. Various
+# commands such as log and grep offer runtime options to use
+# Perl-compatible regular expressions instead of standard or extended
+# POSIX regular expressions.
 #
 # Define LIBPCREDIR=/foo/bar if your libpcre header and library files are in
 # /foo/bar/include and /foo/bar/lib directories.
diff --git a/configure.ac b/configure.ac
index 128165529f..deeb968daa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -250,8 +250,10 @@ AS_HELP_STRING([--with-openssl],[use OpenSSL library (default is YES)])
 AS_HELP_STRING([],              [ARG can be prefix for openssl library and headers]),
 GIT_PARSE_WITH([openssl]))
 
-# Define USE_LIBPCRE if you have and want to use libpcre. git-grep will be
-# able to use Perl-compatible regular expressions.
+# Define USE_LIBPCRE if you have and want to use libpcre. Various
+# commands such as log and grep offer runtime options to use
+# Perl-compatible regular expressions instead of standard or extended
+# POSIX regular expressions.
 #
 # Define LIBPCREDIR=/foo/bar if your libpcre header and library files are in
 # /foo/bar/include and /foo/bar/lib directories.
@@ -499,8 +501,10 @@ GIT_CONF_SUBST([NEEDS_SSL_WITH_CRYPTO])
 GIT_CONF_SUBST([NO_OPENSSL])
 
 #
-# Define USE_LIBPCRE if you have and want to use libpcre. git-grep will be
-# able to use Perl-compatible regular expressions.
+# Define USE_LIBPCRE if you have and want to use libpcre. Various
+# commands such as log and grep offer runtime options to use
+# Perl-compatible regular expressions instead of standard or extended
+# POSIX regular expressions.
 #
 
 if test -n "$USE_LIBPCRE"; then
-- 
2.11.0
Previous: Junio C HamanoNext: Ævar Arnfjörð Bjarmason
Message 11 of 24 in “PCRE v1 improvements & PCRE v2 support”
  1. 00/19 PCRE v1 improvements & PCRE v2 supportÆvar Arnfjörð Bjarmason, Apr 25, 2017
  2. 01/19 grep: amend submodule recursion test in preparation for rx engine testingÆvar Arnfjörð Bjarmason, Apr 25, 2017
  3. 02/19 grep: add tests for grep pattern types being passed to submodulesÆvar Arnfjörð Bjarmason, Apr 25, 2017
  4. 03/19 grep: submodule-related case statements should die if new fields are addedÆvar Arnfjörð Bjarmason, Apr 25, 2017
  5. 04/19 grep: remove redundant regflags assignment under PCREÆvar Arnfjörð Bjarmason, Apr 25, 2017
  6. 05/19 grep: remove redundant `regflags &= ~REG_EXTENDED` assignmentsÆvar Arnfjörð Bjarmason, Apr 25, 2017
  7. Junio C HamanoApr 26, 2017
  8. Junio C HamanoApr 26, 2017
  9. 05/19 grep: remove redundant `regflags &= ~REG_EXTENDED` assignmentsÆvar Arnfjörð Bjarmason, Apr 26, 2017
  10. Junio C HamanoApr 27, 2017
  11. 06/19 Makefile & configure: reword outdated comment about PCREÆvar Arnfjörð Bjarmason, Apr 25, 2017
  12. 07/19 grep: add a test for backreferences in PCRE patternsÆvar Arnfjörð Bjarmason, Apr 25, 2017
  13. 09/19 log: add -P as a synonym for --perl-regexpÆvar Arnfjörð Bjarmason, Apr 25, 2017
  14. 08/19 log: add exhaustive tests for pattern style options & configÆvar Arnfjörð Bjarmason, Apr 25, 2017
  15. 10/19 grep & rev-list doc: stop promising libpcre for --perl-regexpÆvar Arnfjörð Bjarmason, Apr 25, 2017
  16. 12/19 test-lib: rename the LIBPCRE prerequisite to PCREÆvar Arnfjörð Bjarmason, Apr 25, 2017
  17. 13/19 grep: change the internal PCRE macro names to be PCRE1Ævar Arnfjörð Bjarmason, Apr 25, 2017
  18. 14/19 grep: change the internal PCRE code & header names to be PCRE1Ævar Arnfjörð Bjarmason, Apr 25, 2017
  19. 15/19 perf: add a performance comparison test of grep -E and -PÆvar Arnfjörð Bjarmason, Apr 25, 2017
  20. 11/19 grep: make grep.patternType=[pcre|pcre1] a synonym for "perl"Ævar Arnfjörð Bjarmason, Apr 25, 2017
  21. 16/19 grep: add support for the PCRE v1 JIT APIÆvar Arnfjörð Bjarmason, Apr 25, 2017
  22. 17/19 grep: add support for PCRE v2Ævar Arnfjörð Bjarmason, Apr 25, 2017
  23. 18/19 grep: remove support for concurrent use of both PCRE v1 & v2Ævar Arnfjörð Bjarmason, Apr 25, 2017
  24. 19/19 Makefile & configure: make PCRE v2 the default PCRE implementationÆvar Arnfjörð Bjarmason, Apr 25, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.