aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/bin/check-help-version
diff options
context:
space:
mode:
authorN.N. <matju@users.sourceforge.net>2009-10-18 20:01:19 +0000
committerN.N. <matju@users.sourceforge.net>2009-10-18 20:01:19 +0000
commitccddec68116fc6403858ebfa13d4a7b1aa3d5278 (patch)
tree6b90e41b15bbf2440afa76d53cc436debf5b5c5b /externals/gridflow/bin/check-help-version
parenta1fb215b39535805aa19608185d5e52c0f524b42 (diff)
hi gridflow 0.9.5
svn path=/trunk/; revision=12611
Diffstat (limited to 'externals/gridflow/bin/check-help-version')
-rwxr-xr-xexternals/gridflow/bin/check-help-version49
1 files changed, 49 insertions, 0 deletions
diff --git a/externals/gridflow/bin/check-help-version b/externals/gridflow/bin/check-help-version
new file mode 100755
index 00000000..cb067154
--- /dev/null
+++ b/externals/gridflow/bin/check-help-version
@@ -0,0 +1,49 @@
+#!/usr/bin/tclsh
+
+set argh0 [file normalize [file join [pwd] $argv0]]
+source [file dirname $argh0]/pd-tools.tcl
+
+set report {}
+
+proc find_version_strings {lines i} {
+ global filename report
+ lappend toplefts [list patate poil] ;# temporary dummy value so that subpatches are represented in the correct order
+ set j $i
+ set versions {}
+ while {$i < [llength $lines]} {
+ set list [split [lindex $lines $i] " "]
+ switch -- [lindex $list 1] {
+ text {
+ set comment [join [lrange $list 4 end] " "]
+ if {[regexp {^GridFlow (\d\.\d\.\d)} $comment v0 v1]} {
+ lappend versions $v1
+ }
+ }
+ connect {incr i; continue}
+ restore {break}
+ }
+ # recurse into subpatches (disabled because not necessary; can treat the file as one flat patch anyway)
+ ### if {[string compare [lindex $list 0] "#N"]==0} {set i [find_version_strings $lines [expr $i+1]]}
+ incr i
+ }
+ lappend report [list $filename [lsort $versions]]
+ return $i
+}
+
+foreach filename $argv {
+ set lines [pd_read_file $filename]
+ find_version_strings $lines 1
+}
+
+set env(PRINT_CLASS_LIST) yes
+set f [open "| pd -nogui -send {pd quit} 2&>1" r+]
+while {![eof $f]} {
+ if {[regexp {^class_new (.*)} [gets $f] m0 m1]} {
+ puts $m1
+ }
+}
+
+foreach line [lsort -decreasing -index 1 $report] {
+ foreach {filename versions} $line {}
+ puts [format "%40s: %s" $filename $versions]
+}