A lot of places have unused global variables declared. Remove them. It started as a couple of quick fixes and ended up in me writing an ugly hacky script to catch all the instances of unused global declarations. Lot more than I expected. The script can be found at [0]. The script at [0] will only catch the unused globals in 'proc's. But git-gui also has 'method's and 'constructor's. Just change '^proc' to '^constructor' or '^method'. I manually checked each instance before removing just to be sure I'm not doing something wrong. Still, a bit of testing would be appreciated. Just apply this patch and go on about your business as usual. There _should_ be no change in the behaviour. I tested some basic functions like commit, push, etc, and they work fine for me. [0] https://gist.github.com/prati0100/0f3ef903ad1658e76ea0b95f001b4865 Pratyush Yadav (1): git-gui: remove unused global declarations git-gui.sh | 12 ++++-------- lib/about.tcl | 2 +- lib/blame.tcl | 3 +-- lib/branch_checkout.tcl | 2 +- lib/branch_create.tcl | 1 - lib/branch_delete.tcl | 2 +- lib/browser.tcl | 2 +- lib/checkout_op.tcl | 4 +--- lib/choose_font.tcl | 2 +- lib/choose_repository.tcl | 6 +++--- lib/class.tcl | 1 - lib/commit.tcl | 10 +++------- lib/console.tcl | 2 +- lib/database.tcl | 2 +- lib/diff.tcl | 21 +++++++-------------- lib/error.tcl | 2 +- lib/index.tcl | 9 ++++----- lib/line.tcl | 2 +- lib/merge.tcl | 5 ++--- lib/mergetool.tcl | 10 +++++----- lib/remote_add.tcl | 5 ++--- lib/search.tcl | 4 ++-- lib/sshkey.tcl | 2 +- lib/tools_dlg.tcl | 6 +++--- 24 files changed, 47 insertions(+), 70 deletions(-) -- 2.21.0