[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17373: 24.3.50; match data is incorrect if there are too many groups
From: |
Nicolas Richard |
Subject: |
bug#17373: 24.3.50; match data is incorrect if there are too many groups |
Date: |
Tue, 29 Apr 2014 21:19:11 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
Hi,
The following reports 2. Replace 255 by 254, and it'll report 512 as expected
#+BEGIN_SRC emacs-lisp
(with-temp-buffer
(insert "bar")
(when
(re-search-backward
(concat
(mapconcat (lambda (x) (format "\\(%s\\)" x)) (make-list 255 "foo")
"\\|")
"\\|"
"\\(bar\\)")
nil t)
(length (match-data))))
#+END_SRC
Regexps with many groups is the kind of thing is used in AUCTeX, in
TeX-auto-parse-region. What auctex does in that function is construct a
big regexp out of a list of smaller ones (each small one is made into a
group) ; then when the big regexp matches it then tries to find out
which of the smaller regexps actually matched by checking which group is
non-nil.
In GNU Emacs 24.3.50.7 (i686-pc-linux-gnu, GTK+ Version 2.24.20)
of 2014-04-10 on LDLC-portable
Windowing system distributor `The X.Org Foundation', version 11.0.11405000
System Description: Ubuntu 13.10
Configured using:
`configure 'CFLAGS=-g3 -O2''
Important settings:
value of $LANG: fr_BE.UTF-8
locale-coding-system: utf-8-unix
--
Nico.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#17373: 24.3.50; match data is incorrect if there are too many groups,
Nicolas Richard <=