From 7e17831f0a03acc9a92dcc73ed525ab2e61e706f Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 12 Apr 2006 07:37:11 +0000 Subject: [PATCH] Clear the RE_NO_EMPTY_RANGES re syntax option, as this is a less intrusive change from the old (Emacs) behavior, and POSIX allows us to treat [z-a] as an empty range. --- src/csplit.c | 3 ++- src/expr.c | 3 ++- src/nl.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/csplit.c b/src/csplit.c index 4544a3ed10..3fdc3f061f 100644 --- a/src/csplit.c +++ b/src/csplit.c @@ -1121,7 +1121,8 @@ extract_regexp (int argnum, bool ignore, char const *str) p->re_compiled.allocated = 0; p->re_compiled.fastmap = p->fastmap; p->re_compiled.translate = NULL; - re_syntax_options = RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP; + re_syntax_options = + RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES; err = re_compile_pattern (str + 1, len, &p->re_compiled); if (err) { diff --git a/src/expr.c b/src/expr.c index 0e2549f005..c5b1ae87bf 100644 --- a/src/expr.c +++ b/src/expr.c @@ -424,7 +424,8 @@ docolon (VALUE *sv, VALUE *pv) re_buffer.allocated = 0; re_buffer.fastmap = fastmap; re_buffer.translate = NULL; - re_syntax_options = RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP; + re_syntax_options = + RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES; errmsg = re_compile_pattern (pv->u.s, strlen (pv->u.s), &re_buffer); if (errmsg) error (EXPR_INVALID, 0, "%s", errmsg); diff --git a/src/nl.c b/src/nl.c index 7aad2e8f24..7ee57b77d6 100644 --- a/src/nl.c +++ b/src/nl.c @@ -253,7 +253,8 @@ build_type_arg (char **typep, struct re_pattern_buffer *regexp, char *fastmap) regexp->allocated = 0; regexp->fastmap = fastmap; regexp->translate = NULL; - re_syntax_options = RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP; + re_syntax_options = + RE_SYNTAX_POSIX_BASIC & ~RE_CONTEXT_INVALID_DUP & ~RE_NO_EMPTY_RANGES; errmsg = re_compile_pattern (optarg, strlen (optarg), regexp); if (errmsg) error (EXIT_FAILURE, 0, "%s", errmsg); -- 2.47.2