[gtksourceview] Bracket matching: fix bug with '(' ')' in C
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] Bracket matching: fix bug with '(' ')' in C
- Date: Sun, 25 Oct 2015 14:33:04 +0000 (UTC)
commit 63faf76e1a4d8ecf6e4b3568e015b34c7d62a476
Author: Sébastien Wilmet <swilmet gnome org>
Date: Sun Oct 25 15:26:07 2015 +0100
Bracket matching: fix bug with '(' ')' in C
The string context class is applied to single chars in C. A single char
can be considered as a string of length 1. Some languages don't make the
distinction between 'a' and "a". Also, if possible it's better to not
have a proliferation of context classes.
https://bugzilla.gnome.org/show_bug.cgi?id=756537
data/language-specs/c.lang | 2 +-
tests/test-buffer.c | 4 ++++
2 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/data/language-specs/c.lang b/data/language-specs/c.lang
index b9b6868..e332a38 100644
--- a/data/language-specs/c.lang
+++ b/data/language-specs/c.lang
@@ -136,7 +136,7 @@
</include>
</context>
- <context id="char" style-ref="char">
+ <context id="char" style-ref="char" class="string">
<match>L?'(\%{escaped-character}|.)'</match>
</context>
diff --git a/tests/test-buffer.c b/tests/test-buffer.c
index 07d5727..59d1597 100644
--- a/tests/test-buffer.c
+++ b/tests/test-buffer.c
@@ -404,6 +404,10 @@ test_bracket_matching (void)
do_test_bracket_matching (buffer, "/*(*/\"a\"/*)*/", 2, -1, -1, GTK_SOURCE_BRACKET_MATCH_NOT_FOUND);
do_test_bracket_matching (buffer, "/*(*/\"a\"/*)*/", 10, -1, -1, GTK_SOURCE_BRACKET_MATCH_NOT_FOUND);
+ /* Single char in C */
+ do_test_bracket_matching (buffer, "'(' ')'", 1, -1, -1, GTK_SOURCE_BRACKET_MATCH_NOT_FOUND);
+ do_test_bracket_matching (buffer, "'(' ')'", 5, -1, -1, GTK_SOURCE_BRACKET_MATCH_NOT_FOUND);
+
g_object_unref (buffer);
/* Test setting the property and a specific tag table. There was a
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]