Index by: file name |
procedure name |
procedure call |
annotation
gscope_vs.tcl
(annotations | original source)
#rR pour comparer deux versions de gscope
proc DismissVS w {
global PagePropre
if {[info exists PagePropre($w)]} { unset PagePropre($w) }
if {[PourWscope]} { return "<script language='javascript'>window.close()</script>'" }
catch {after 10 destroy $w}
return $w
}
proc SameBody {A B} {
regsub -all {[ \t\n]} $A "" A
regsub -all {[ \t\n]} $B "" B
return [string equal $A $B]
}
proc GscopeVersusGscope {} {
#rR On essayez de comparer une version du Pipe avec [HomeRipp]/gscope
#rR Pour cela on fait tourner PIpe et on interroge qds Zero
#rR On ne compare que le corps des proc pas les arguments (a faire)
source [HomeRipp]/gscope/wscope/cafedessciences/cafe_des_sciences_proc.tcl
source [HomeRipp]/gscope/wscope/cafedessciences/question_de_science_proc.tcl
package require Tk
set FichierBestUnknown "[HomeRipp]/vs/BestUnknown"
set FichierBestGscope "[HomeRipp]/vs/BestGscope"
set FichierBestPipe "[HomeRipp]/vs/BestPipe"
set FichierDejaVu "[HomeRipp]/vs/DejaVu"
set LesDejaVu {}
if {[file exists $FichierDejaVu]} { set LesDejaVu [LesLignesDuFichier $FichierDejaVu] }
foreach P $LesDejaVu {
set DejaVu($P) 1
}
#rR On compare les deux versions.
set LesManquants {}
set LesDifferents {}
foreach P [LesProceduresExistantes] {
if {[info exists DejaVu($P)]} { continue }
if { [info procs $P]=={} } { continue }
set Autre [QuestionDeScience Zero "ret info procs $P"]
if { $Autre==""} { Espionne "manque $P"; lappend LesManquants $P; continue }
set MonBody [info body $P]
if {[regexp {winfo|grid|bind|button|raise|focus|frame|AfficheBouton|biotext} $MonBody]} {
AppendAuFichier $FichierDejaVu $P
lappend MesTk $P
continue
}
if {[regexp {/genomics/g} $MonBody]} {
lappend MesG $P
continue
}
regsub -all {^[ \n]+} $MonBody "" MonBody
regsub -all {\n[ ]+(\n|$)} $MonBody "\n" MonBody
regsub -all {\n+} $MonBody "\n" MonBody
set SonBody [QuestionDeScience Zero "ret info body $P"]
regsub -all {^[ \n]+} $SonBody "" SonBody
regsub -all {\n[ ]+(\n|$)} $SonBody "\n" SonBody
regsub -all {\n+} $SonBody "\n" SonBody
if {[regexp {winfo|grid|bind|button|raise|focus|frame|AfficheBouton} $SonBody]} {
AppendAuFichier $FichierDejaVu $P
lappend SesTk $P
continue
}
if {[SameBody $MonBody $SonBody]} {AppendAuFichier $FichierDejaVu $P; continue }
Espionne "$P diff"
lappend LesDifferents $P
set R [Affiche $SonBody "" "Gscope $P"]
set M [Affiche $MonBody "AvecRetour" "Pipepack $P"]
if {$M==""} {
set FM [Sauve $MonBody dans "[HomeRipp]/vs/Pipepack_$P.tcl"]
set FS [Sauve $SonBody dans "[HomeRipp]/vs/Gscope_$P.tcl"]
catch {exec meld $FS $FM}
if {[OuiOuNon "Gscope est meilleur"]} {
AppendAuFichier $FichierBestGscope $P
} else {
if {[OuiOuNon "Pipe est meilleur"]} {
AppendAuFichier $FichierBestPipe $P
} else {
AppendAuFichier $FichierBestUnknown $P
}
}
} elseif {[llength $M]==1} {
AppendAuFichier $FichierBestGscope $P
}
DismissVS $R
AppendAuFichier $FichierDejaVu $P
}
AfficheListe $LesManquants
AfficheListe $LesDifferents
return
}
Index by: file name |
procedure name |
procedure call |
annotation
File generated 2022-04-05 at 12:55.