* Re: gitk: cannot handle tags with a % in them [not found] <20110227224024.3751.96676.reportbug@pcfelipe.sateler> @ 2011-03-01 1:38 ` Jonathan Nieder 2011-03-01 23:50 ` [PATCH] gitk: ensure quoted tag names in event bindings Pat Thoyts 0 siblings, 1 reply; 4+ messages in thread From: Jonathan Nieder @ 2011-03-01 1:38 UTC (permalink / raw) To: git; +Cc: Paul Mackerras, Pat Thoyts, Felipe Sateler Hi, Felipe Sateler wrote[1]: > Gitk chokes on tags containing a % character. Reproduced as follows: git tag a%b gitk and then clicking on the "| a%b >" symbol. Result: can't read "tagids(foo1ar)": no such element in array can't read "tagids(foo1ar)": no such element in array while executing "set text "[mc "Tag"]: $tag\n[mc "Id"]: $tagids($tag)"" (procedure "showtag" line 19) invoked from within "showtag foo1ar 1" (command bound to event) It seems that a tag containing a percent sign works okay in an expression like $tagids($tag), but not in a quoted expression like "$tagids($tag)". Hints? Thanks for gitk, of course. :) Jonathan [1] http://bugs.debian.org/615645 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] gitk: ensure quoted tag names in event bindings 2011-03-01 1:38 ` gitk: cannot handle tags with a % in them Jonathan Nieder @ 2011-03-01 23:50 ` Pat Thoyts 2011-03-02 5:47 ` Jonathan Nieder 2011-03-09 10:05 ` Paul Mackerras 0 siblings, 2 replies; 4+ messages in thread From: Pat Thoyts @ 2011-03-01 23:50 UTC (permalink / raw) To: Jonathan Nieder; +Cc: git, Paul Mackerras, Felipe Sateler Tag names that contain a % character require quoting when used in event bindings or the name may be mis-recognised for percent substitution in the event script. Reported-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> --- Jonathan Nieder <jrnieder@gmail.com> writes: >Hi, > >Felipe Sateler wrote[1]: > >> Gitk chokes on tags containing a % character. > >Reproduced as follows: > > git tag a%b > gitk > >and then clicking on the "| a%b >" symbol. > >Result: > > can't read "tagids(foo1ar)": no such element in array > can't read "tagids(foo1ar)": no such element in array > while executing > "set text "[mc "Tag"]: $tag\n[mc "Id"]: $tagids($tag)"" > (procedure "showtag" line 19) > invoked from within > "showtag foo1ar 1" > (command bound to event) > >It seems that a tag containing a percent sign works okay in >an expression like $tagids($tag), but not in a quoted expression >like "$tagids($tag)". > >Hints? > >Thanks for gitk, of course. :) >Jonathan > >[1] http://bugs.debian.org/615645 gitk | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index 9cbc09d..6513537 100755 --- a/gitk +++ b/gitk @@ -6300,6 +6300,7 @@ proc drawtags {id x xt y1} { -width $lthickness -fill black -tags tag.$id] $canv lower $t foreach tag $marks x $xvals wid $wvals { + set tag_quoted [string map {% %%} $tag] set xl [expr {$x + $delta}] set xr [expr {$x + $delta + $wid + $lthickness}] set font mainfont @@ -6308,7 +6309,7 @@ proc drawtags {id x xt y1} { set t [$canv create polygon $x [expr {$yt + $delta}] $xl $yt \ $xr $yt $xr $yb $xl $yb $x [expr {$yb - $delta}] \ -width 1 -outline black -fill yellow -tags tag.$id] - $canv bind $t <1> [list showtag $tag 1] + $canv bind $t <1> [list showtag $tag_quoted 1] set rowtextx([rowofcommit $id]) [expr {$xr + $linespc}] } else { # draw a head or other ref @@ -6335,9 +6336,9 @@ proc drawtags {id x xt y1} { set t [$canv create text $xl $y1 -anchor w -text $tag -fill $fgcolor \ -font $font -tags [list tag.$id text]] if {$ntags >= 0} { - $canv bind $t <1> [list showtag $tag 1] + $canv bind $t <1> [list showtag $tag_quoted 1] } elseif {$nheads >= 0} { - $canv bind $t $ctxbut [list headmenu %X %Y $id $tag] + $canv bind $t $ctxbut [list headmenu %X %Y $id $tag_quoted] } } return $xt -- 1.7.4.msysgit.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] gitk: ensure quoted tag names in event bindings 2011-03-01 23:50 ` [PATCH] gitk: ensure quoted tag names in event bindings Pat Thoyts @ 2011-03-02 5:47 ` Jonathan Nieder 2011-03-09 10:05 ` Paul Mackerras 1 sibling, 0 replies; 4+ messages in thread From: Jonathan Nieder @ 2011-03-02 5:47 UTC (permalink / raw) To: Pat Thoyts; +Cc: git, Paul Mackerras, Felipe Sateler Pat Thoyts wrote: > Tag names that contain a % character require quoting when used in event > bindings or the name may be mis-recognised for percent substitution in > the event script. > > Reported-by: Jonathan Nieder <jrnieder@gmail.com> > Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> [...] > > gitk | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) Thanks, makes sense (and seems to work). ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gitk: ensure quoted tag names in event bindings 2011-03-01 23:50 ` [PATCH] gitk: ensure quoted tag names in event bindings Pat Thoyts 2011-03-02 5:47 ` Jonathan Nieder @ 2011-03-09 10:05 ` Paul Mackerras 1 sibling, 0 replies; 4+ messages in thread From: Paul Mackerras @ 2011-03-09 10:05 UTC (permalink / raw) To: Pat Thoyts; +Cc: Jonathan Nieder, git, Felipe Sateler On Tue, Mar 01, 2011 at 11:50:50PM +0000, Pat Thoyts wrote: > Tag names that contain a % character require quoting when used in event > bindings or the name may be mis-recognised for percent substitution in > the event script. > > Reported-by: Jonathan Nieder <jrnieder@gmail.com> > Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net> Thanks, applied. Paul. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-03-09 10:31 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20110227224024.3751.96676.reportbug@pcfelipe.sateler> 2011-03-01 1:38 ` gitk: cannot handle tags with a % in them Jonathan Nieder 2011-03-01 23:50 ` [PATCH] gitk: ensure quoted tag names in event bindings Pat Thoyts 2011-03-02 5:47 ` Jonathan Nieder 2011-03-09 10:05 ` Paul Mackerras
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).