From: "Роман Донченко" <dpb@corrigendum.ru> To: paulus@ozlabs.org Cc: git@vger.kernel.org, "Роман Донченко" <dpb@corrigendum.ru> Subject: [PATCH] gitk: fix the context menu not appearing in the presence of submodule diffs Date: Sun, 15 Dec 2019 21:25:50 +0300 [thread overview] Message-ID: <20191215182550.397-1-dpb@corrigendum.ru> (raw) Currently, submodule diffs can cause the diff context menu to fail to appear because of a couple bugs in parseblobdiffline: * it appends the submodule name to ctext_file_lines instead of a line number, which breaks the binary search in find_ctext_fileinfo; * it can desynchronize ctext_file_names and ctext_file_lines by appending to the former but not the latter, which also breaks find_ctext_fileinfo. Fix both of these. Note: a side effect of this patch is that the context menu also starts appearing when you right-click on submodule diffs (and not just regular diffs). The menu is non-functional in this case, though, since you can't run blame on submodules. Signed-off-by: Роман Донченко <dpb@corrigendum.ru> --- gitk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index da84e22..2a9bd45 100755 --- a/gitk +++ b/gitk @@ -8224,10 +8224,10 @@ proc parseblobdiffline {ids line} { if {$currdiffsubmod != $fname} { $ctext insert end "\n"; # Add newline after commit message } - set curdiffstart [$ctext index "end - 1c"] - lappend ctext_file_names "" if {$currdiffsubmod != $fname} { - lappend ctext_file_lines $fname + set curdiffstart [$ctext index "end - 1c"] + lappend ctext_file_names "" + lappend ctext_file_lines [lindex [split $curdiffstart "."] 0] makediffhdr $fname $ids set currdiffsubmod $fname $ctext insert end "\n$line\n" filesep -- 2.24.1.windows.2
next reply other threads:[~2019-12-15 18:34 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-12-15 18:25 Роман Донченко [this message] 2020-04-13 5:11 ` Paul Mackerras 2020-04-29 23:11 ` Роман Донченко
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 List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191215182550.397-1-dpb@corrigendum.ru \ --to=dpb@corrigendum.ru \ --cc=git@vger.kernel.org \ --cc=paulus@ozlabs.org \ --subject='Re: [PATCH] gitk: fix the context menu not appearing in the presence of submodule diffs' \ /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
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git 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 read-only IMAP folder(s) and NNTP newsgroup(s).