Mercurial > hg > xemacs-beta
changeset 5649:d026b665014f
Actually obey POSIX rules in #'posix-string-match, don't ignore them.
src/ChangeLog addition:
2012-04-25 Aidan Kehoe <kehoea@parhasard.net>
* search.c (string_match_1): Actually use the POSIX argument here,
pass it to compile_pattern(). Thank you for the bug report, Ilya
Shlyakhter!
tests/ChangeLog addition:
2012-04-25 Aidan Kehoe <kehoea@parhasard.net>
* automated/regexp-tests.el: Check that #'posix-string-match
actually returns the longest match; thank you Ilya Shlyakhter in
jn1j8t$ujq$1@dough.gmane.org !
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 25 Apr 2012 20:25:33 +0100 |
parents | 3f4a234f4672 |
children | 7fa8667cdaa7 3df910176b6a |
files | src/ChangeLog src/search.c tests/ChangeLog tests/automated/regexp-tests.el |
diffstat | 4 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sat Apr 21 18:58:28 2012 +0100 +++ b/src/ChangeLog Wed Apr 25 20:25:33 2012 +0100 @@ -1,3 +1,9 @@ +2012-04-25 Aidan Kehoe <kehoea@parhasard.net> + + * search.c (string_match_1): Actually use the POSIX argument here, + pass it to compile_pattern(). Thank you for the bug report, Ilya + Shlyakhter! + 2012-04-21 Aidan Kehoe <kehoea@parhasard.net> Support non-ASCII correctly in character classes ([:alnum:] and
--- a/src/search.c Sat Apr 21 18:58:28 2012 +0100 +++ b/src/search.c Wed Apr 25 20:25:33 2012 +0100 @@ -419,7 +419,7 @@ static Lisp_Object string_match_1 (Lisp_Object regexp, Lisp_Object string, Lisp_Object start, - struct buffer *buf, int UNUSED (posix)) + struct buffer *buf, int posix) { Bytecount val; Charcount s; @@ -450,7 +450,7 @@ bufp = compile_pattern (regexp, &search_regs, (!NILP (buf->case_fold_search) ? XCASE_TABLE_DOWNCASE (buf->case_table) : Qnil), - string, buf, 0, ERROR_ME); + string, buf, posix, ERROR_ME); QUIT; { Bytecount bis = string_index_char_to_byte (string, s);
--- a/tests/ChangeLog Sat Apr 21 18:58:28 2012 +0100 +++ b/tests/ChangeLog Wed Apr 25 20:25:33 2012 +0100 @@ -1,3 +1,9 @@ +2012-04-25 Aidan Kehoe <kehoea@parhasard.net> + + * automated/regexp-tests.el: Check that #'posix-string-match + actually returns the longest match; thank you Ilya Shlyakhter in + jn1j8t$ujq$1@dough.gmane.org ! + 2012-04-21 Aidan Kehoe <kehoea@parhasard.net> * automated/regexp-tests.el:
--- a/tests/automated/regexp-tests.el Sat Apr 21 18:58:28 2012 +0100 +++ b/tests/automated/regexp-tests.el Wed Apr 25 20:25:33 2012 +0100 @@ -69,6 +69,15 @@ (Assert (string-match "Ä" "Ä")) (Assert (not (string-match "Ä" "ä")))) +;; Is posix-string-match passing the POSIX flag correctly? + +(Assert + (equal + (save-match-data + (progn (posix-string-match "i\\|ii" "ii") (match-data))) + '(0 2)) + "checking #'posix-string-match actually returns the longest match")) + ;; looking-at (with-temp-buffer (insert "äÄ")