aboutsummaryrefslogtreecommitdiffhomepage
path: root/ide/find_phrase.mll
diff options
context:
space:
mode:
authorGravatar monate <monate@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-03-07 19:07:26 +0000
committerGravatar monate <monate@85f007b7-540e-0410-9357-904b9bb8a0f7>2003-03-07 19:07:26 +0000
commitfe9eef0e5f1b3068b5458670f40f588d151a4752 (patch)
tree0036b018c34d7d64541bc2ce03a728c990781a46 /ide/find_phrase.mll
parent519af89c1395b85bc1b17041504096feaea01777 (diff)
coqide: corrections pour utf8 de coq. highlight synchrone=repare le bug autorepeat des paste. configuration des accel rateurs. les chaines peuvent contenir des points. Bug: les phrases ne peuvent pas contenir .\sep. Or c'est permis par les Notation.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3750 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'ide/find_phrase.mll')
-rw-r--r--ide/find_phrase.mll8
1 files changed, 7 insertions, 1 deletions
diff --git a/ide/find_phrase.mll b/ide/find_phrase.mll
index 8a428710a..16d1cd83e 100644
--- a/ide/find_phrase.mll
+++ b/ide/find_phrase.mll
@@ -8,6 +8,12 @@ rule next_phrase = parse
| "(*" { incr length; incr length;
skip_comment lexbuf;
next_phrase lexbuf}
+ | '"'[^'"']*'"' { let lexeme = Lexing.lexeme lexbuf in
+ let ulen = Glib.Utf8.length lexeme in
+ length := !length + ulen;
+ Buffer.add_string buff lexeme;
+ next_phrase lexbuf
+ }
| '.'[' ''\n''\t''\r'] {
length := !length + 2;
Buffer.add_string buff (Lexing.lexeme lexbuf);
@@ -19,7 +25,7 @@ rule next_phrase = parse
Buffer.add_char buff c ;
next_phrase lexbuf
}
- | eof { raise (Lex_error "no phrase") }
+ | eof { raise (Lex_error "Phrase should end with . followed by a separator") }
and skip_comment = parse
| "*)" {incr length; incr length; ()}
| "(*" {incr length; incr length;