"Lennart Borgman (gmail)" <address@hidden> writes:
Starting from
emacs -Q
Put this in the *scratch* buffer and eval it:
(let* ((mod-regx+ "\\(\\(?:[CSM]-\\)+\\)")
(mod-regx* "\\(\\(?:[CSM]-\\)*\\)")
(str "<C-S-tab>")
(m+ (when (string-match mod-regx+ str)
(match-string 0 str)))
(m* (when (string-match mod-regx* str)
(match-string 0 str))))
(lwarn 't :warning "m+=%s, m*=%s" m+ m*))
I get
Warning (t): m+=C-S-, m*=
Should not both this regexp give the same result here? It looks to me like
* is treated as *? - ie non-greedy.
The regexp matches the empty string.