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

[PATCH 1/3] t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
Jun 21, 2010, 17:37 UTC
Message-ID
<__CrpvAIIX9lgHHkBLHB9fuuN7Rspzl7LFSDSwXwVCT6rYs_YOUHNMf7JZQbKaPHRl6AjsJ9dx8@cipher.nrlssc.navy.mil>
From: Brandon Casey <drafnel@gmail.com>

Regular expressions matched by 'expr' have an implicit '^' at the beginning of them and so are anchored to the beginning of the string. Using the '^' character to mean "match at the beginning", is redundant and could produce the wrong result if 'expr' implementations interpret the '^' as a literal '^'. Additionally, GNU expr 5.97 complains like this:

   expr: warning: unportable BRE: `^[a-z][a-z]*$': using `^' as the first character of the basic regular expression is not portable; it is being ignored
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
---
 t/lib-pager.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/t/lib-pager.sh b/t/lib-pager.sh
index f8c6025..ba03eab 100644
--- a/t/lib-pager.sh
+++ b/t/lib-pager.sh
@@ -9,7 +9,7 @@ test_expect_success 'determine default pager' '
 	test -n "$less"
 '
 
-if expr "$less" : '^[a-z][a-z]*$' >/dev/null
+if expr "$less" : '[a-z][a-z]*$' >/dev/null
 then
 	test_set_prereq SIMPLEPAGER
 fi
-- 
1.6.6.2
Next: Brandon Casey
Message 1 of 4 in “t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression”
  1. 1/3 t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expressionBrandon Casey, Jun 21, 2010
  2. 2/3 t/t7811-grep-open.sh: ensure fake "less" is made executableBrandon Casey, Jun 21, 2010
  3. 3/3 t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" scriptBrandon Casey, Jun 21, 2010
  4. Junio C HamanoJun 21, 2010

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.