anonym | Anmelden | Neues Konto anmelden | 2022-06-30 19:48 UTC |
Startseite | Übersicht | Probleme anzeigen | Änderungsprotokoll | Roadmap | Dokumentation | Konto |
Einfache Problemansicht anzeigen [ Zu Notizen wechseln ] | [ erweiterte Anzeige ] [ Problem-Historie ] [ Drucken ] | ||||||
ID | Kategorie | Auswirkung | Reproduzierbar | Meldungsdatum | Letzte Aktualisierung | ||
0000041 | [Bisect] general | schwerer Fehler | immer | 2009-06-05 18:36 | 2009-12-17 19:59 | ||
Reporter | mfurr | Anzeigestatus | öffentlich | ||||
Bearbeitung durch | xclerc | ||||||
Priorität | normal | Lösung | erledigt | ||||
Status | geschlossen | Produktversion | 1.0beta | ||||
Zusammenfassung | 0000041: Patch: support for multiple directories | ||||||
Beschreibung | The instrument pp stores only the relative filenames of the source files, so bisect fails to work on projects that split up files into sub directories. Here's a trivial patch that fixes the problem. | ||||||
Zusätzliche Information |
diff -ur bisect-1.0-beta/src/instrument.ml bisect-1.0-beta.new/src/instrument.ml --- bisect-1.0-beta/src/instrument.ml 2009-05-31 11:26:34.000000000 -0400 +++ bisect-1.0-beta.new/src/instrument.ml 2009-06-05 12:33:03.000000000 -0 400 @@ -80,6 +80,10 @@ let _loc = Loc.ghost in <:expr< (Bisect.Runtime.mark $str:file$ $int:string_of_int idx$) >> +(* Prepend the current working directory to the filename to get an + absolute filename *) +let full_path file = Filename.concat (Sys.getcwd()) file + (* Wraps an expression with a marker, returning the passed expression unmodified if the expression is already marked, is a bare mapping, or has a ghost location. *) @@ -92,7 +96,7 @@ let ofs = Loc.start_off loc in Ast.ExSeq (loc, Ast.ExSem (loc, - (marker (Loc.file_name loc) ofs k), + (marker (full_path (Loc.file_name loc)) ofs k), e)) with Already_marked -> e @@ -165,7 +169,7 @@ | Ast.StVal (loc, rc, bnd) -> Ast.StVal (loc, rc, (wrap_binding bnd)) | x -> x in let loc = Ast.loc_of_str_item si in - let file = Loc.file_name loc in + let file = full_path (Loc.file_name loc) in if not (List.mem file !files) && not (Loc.is_ghost loc) then let _loc = Loc.ghost in let e = <:expr< (Bisect.Runtime.init $str:file$) >> in |
||||||
Tags | Keine Tags zugeordnet. | ||||||
Angehängte Dateien | |||||||
|
Mantis 1.1.7[^] Copyright © 2000 - 2008 Mantis Group |