From: Max Kirillov <max@max630.net>
To: Paul Mackerras <paulus@samba.org>
Cc: git@vger.kernel.org
Subject: [PATCH] gitk: use single blamestuff for all show_line_source{} calls
Date: Mon, 3 Feb 2014 22:53:52 +0200 [thread overview]
Message-ID: <20140203205352.GA5136@wheezy.local> (raw)
There seems to be no point to search for several origins at once.
I doubt it is even fully working (because there is one blameinst),
but blamestuff for some reason is an array. Also, it is not cleaned
after blame is completed
Signed-off-by: Max Kirillov <max@max630.net>
---
gitk | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/gitk b/gitk
index 90764e8..dfac4fd 100755
--- a/gitk
+++ b/gitk
@@ -3815,17 +3815,18 @@ proc show_line_source {} {
nowbusy blaming [mc "Searching"]
fconfigure $f -blocking 0
set i [reg_instance $f]
- set blamestuff($i) {}
+ set blamestuff {}
set blameinst $i
filerun $f [list read_line_source $f $i]
}
proc stopblaming {} {
- global blameinst
+ global blameinst blamestuff
if {[info exists blameinst]} {
stop_instance $blameinst
unset blameinst
+ unset blamestuff
notbusy blaming
}
}
@@ -3834,7 +3835,7 @@ proc read_line_source {fd inst} {
global blamestuff curview commfd blameinst nullid nullid2
while {[gets $fd line] >= 0} {
- lappend blamestuff($inst) $line
+ lappend blamestuff $line
}
if {![eof $fd]} {
return 1
@@ -3845,17 +3846,18 @@ proc read_line_source {fd inst} {
fconfigure $fd -blocking 1
if {[catch {close $fd} err]} {
error_popup [mc "Error running git blame: %s" $err]
+ unset blamestuff
return 0
}
set fname {}
- set line [split [lindex $blamestuff($inst) 0] " "]
+ set line [split [lindex $blamestuff 0] " "]
set id [lindex $line 0]
set lnum [lindex $line 1]
if {[string length $id] == 40 && [string is xdigit $id] &&
[string is digit -strict $lnum]} {
# look for "filename" line
- foreach l $blamestuff($inst) {
+ foreach l $blamestuff {
if {[string match "filename *" $l]} {
set fname [string range $l 9 end]
break
@@ -3878,6 +3880,7 @@ proc read_line_source {fd inst} {
} else {
puts "oops couldn't parse git blame output"
}
+ unset blamestuff
return 0
}
--
1.8.5.2.421.g4cdf8d0
next reply other threads:[~2014-02-03 20:54 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-03 20:53 Max Kirillov [this message]
2014-02-03 22:34 ` [PATCH 0/3] gitk: show latest change to region Max Kirillov
2014-02-03 22:41 ` [PATCH 1/3] gitk: refactor: separate generic hunk parsing out of find_hunk_blamespecs{} Max Kirillov
2014-02-03 23:20 ` Eric Sunshine
2014-06-24 18:27 ` Max Kirillov
2014-02-03 22:42 ` [PATCH 2/3] gitk: refactor: separate io from logic in the searching origin of line Max Kirillov
2014-02-03 22:42 ` [PATCH 3/3] gitk: pick selection for region blame Max Kirillov
2014-02-03 22:48 ` [PATCH 3/3 v2] gitk: show latest change to region Max Kirillov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140203205352.GA5136@wheezy.local \
--to=max@max630.net \
--cc=git@vger.kernel.org \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).