X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2FmatitaScript.ml;h=510e736e5cc1896375ec723f2c77ab0c571d0183;hb=ac32f6b3e8f8303d41c6b82c9114aae238cdfeb9;hp=7f4d800f7bee7ea9fde338d9136c0bed973f67ac;hpb=121b58dd258f5ab6d090055bfffd43a41fb3ae7a;p=helm.git diff --git a/matita/matitaScript.ml b/matita/matitaScript.ml index 7f4d800f7..510e736e5 100644 --- a/matita/matitaScript.ml +++ b/matita/matitaScript.ml @@ -85,9 +85,11 @@ let eval_with_engine guistuff lexicon_status grafite_status user_goal let parsed_text_length = String.length skipped_txt + String.length nonskipped_txt in + let text = skipped_txt ^ nonskipped_txt in + let prefix_len = MatitaGtkMisc.utf8_string_length skipped_txt in let enriched_history_fragment = MatitaEngine.eval_ast ~do_heavy_checks:true - lexicon_status grafite_status st + lexicon_status grafite_status (text,prefix_len,st) in let enriched_history_fragment = List.rev enriched_history_fragment in (* really fragile *) @@ -718,7 +720,7 @@ object (self) self#_retract (icmp - len) lexicon_status grafite_status statements history | statement::tl1, _::tl2 -> - back_until_cursor (len - String.length statement) (tl1,tl2) + back_until_cursor (len - MatitaGtkMisc.utf8_string_length statement) (tl1,tl2) | _,_ -> assert false in (try @@ -770,9 +772,10 @@ object (self) in match st with | GrafiteParser.LSome (GrafiteAst.Comment (loc,_)) -> - let _,parsed_text_length = - MatitaGtkMisc.utf8_parsed_text s loc - in + let _,parsed_text_length = MatitaGtkMisc.utf8_parsed_text s loc in + (* CSC: why +1 in the following lines ???? *) + let parsed_text_length = parsed_text_length + 1 in +prerr_endline ("## " ^ string_of_int parsed_text_length); let remain_len = String.length s - parsed_text_length in let next = String.sub s parsed_text_length remain_len in is_there_only_comments lexicon_status next @@ -782,6 +785,7 @@ object (self) try is_there_only_comments self#lexicon_status self#getFuture with + | LexiconEngine.IncludedFileNotCompiled _ | HExtlib.Localized _ | CicNotationParser.Parse_error _ -> false | Margin | End_of_file -> true