mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-30 09:00:31 -08:00
Sync.to HEAD.
This commit is contained in:
parent
bd7ca8fe77
commit
76fc1ea2e2
1 changed files with 22 additions and 3 deletions
25
src/search.c
25
src/search.c
|
|
@ -2323,13 +2323,21 @@ since only regular expressions have distinguished subexpressions. */)
|
|||
substart = search_regs.start[sub];
|
||||
subend = search_regs.end[sub];
|
||||
}
|
||||
else if (c >= '1' && c <= '9' && c <= search_regs.num_regs + '0')
|
||||
else if (c >= '1' && c <= '9')
|
||||
{
|
||||
if (search_regs.start[c - '0'] >= 0)
|
||||
if (search_regs.start[c - '0'] >= 0
|
||||
&& c <= search_regs.num_regs + '0')
|
||||
{
|
||||
substart = search_regs.start[c - '0'];
|
||||
subend = search_regs.end[c - '0'];
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If that subexp did not match,
|
||||
replace \\N with nothing. */
|
||||
substart = 0;
|
||||
subend = 0;
|
||||
}
|
||||
}
|
||||
else if (c == '\\')
|
||||
delbackslash = 1;
|
||||
|
|
@ -2507,8 +2515,16 @@ since only regular expressions have distinguished subexpressions. */)
|
|||
}
|
||||
|
||||
if (really_changed)
|
||||
newtext = make_string (substed, substed_len);
|
||||
{
|
||||
if (buf_multibyte)
|
||||
{
|
||||
int nchars = multibyte_chars_in_text (substed, substed_len);
|
||||
|
||||
newtext = make_multibyte_string (substed, nchars, substed_len);
|
||||
}
|
||||
else
|
||||
newtext = make_unibyte_string (substed, substed_len);
|
||||
}
|
||||
xfree (substed);
|
||||
}
|
||||
|
||||
|
|
@ -2900,3 +2916,6 @@ syms_of_search ()
|
|||
defsubr (&Sset_match_data);
|
||||
defsubr (&Sregexp_quote);
|
||||
}
|
||||
|
||||
/* arch-tag: a6059d79-0552-4f14-a2cb-d379a4e3c78f
|
||||
(do not change this comment) */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue