Так что я работаю с большим проектом TCL и подумал, что было бы здорово построить древовидную структуру того, как файлы были источником в проекте.Я изменил исходную команду, сделав следующее:
rename ::source ::real_source
proc ::source args {
set file_handle [open "file_source.tcl" a]
puts $file_handle $args
puts $file_handle $argv0
close $file_handle
uplevel 1 ::real_source $args
}
, которая работает и сохраняет все исходные файлы, но мне было интересно, есть ли у кого-нибудь идеи о том, как я могу определить, какие файлы вызывают исходную команду?
Другая интересная проблема, с которой я сталкиваюсь, заключается в том, что моя новая процедура с исходным кодом работает только в некоторых файлах.Исходники из файла A Файл B и все источники в файле B, кажется, работают правильно, но все, что под этим, похоже, возвращается к использованию старой процедуры источника.Любые идеи о том, почему это происходит?