git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] gitk: Fix nextfile() and more
@ 2006-09-25 13:46 OGAWA Hirofumi
  2006-09-26  5:24 ` Junio C Hamano
  0 siblings, 1 reply; 7+ messages in thread
From: OGAWA Hirofumi @ 2006-09-25 13:46 UTC (permalink / raw)
  To: git

Hi,

The current nextfile() jumps to last hunk, but I think this is not
intention, probably, it's forgetting to add "break;". Right?  And this
patch also adds prevfile(), it jumps to previous hunk.

The following part is just my favorite the key-binds, it doesn't matter.

+    bind . <Control-p> "$ctext yview scroll -1 units"
+    bind . <Control-n> "$ctext yview scroll 1 units"
+    bind . <Alt-v> "$ctext yview scroll -1 pages"
+    bind . <Control-v> "$ctext yview scroll 1 pages"
+    bindkey P prevfile
+    bindkey N nextfile

What do you think of this?

Thanks.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>


Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 gitk |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff -puN gitk~gitk-key-emacs gitk
--- git/gitk~gitk-key-emacs	2006-09-25 22:31:51.000000000 +0900
+++ git-hirofumi/gitk	2006-09-25 22:31:51.000000000 +0900
@@ -672,6 +672,10 @@ proc makewindow {} {
     bind . <Control-Key-Down> "allcanvs yview scroll 1 units"
     bind . <Control-Key-Prior> "allcanvs yview scroll -1 pages"
     bind . <Control-Key-Next> "allcanvs yview scroll 1 pages"
+    bind . <Control-p> "$ctext yview scroll -1 units"
+    bind . <Control-n> "$ctext yview scroll 1 units"
+    bind . <Alt-v> "$ctext yview scroll -1 pages"
+    bind . <Control-v> "$ctext yview scroll 1 pages"
     bindkey <Key-Delete> "$ctext yview scroll -1 pages"
     bindkey <Key-BackSpace> "$ctext yview scroll -1 pages"
     bindkey <Key-space> "$ctext yview scroll 1 pages"
@@ -690,6 +694,8 @@ proc makewindow {} {
     bindkey <Key-Return> {findnext 0}
     bindkey ? findprev
     bindkey f nextfile
+    bindkey P prevfile
+    bindkey N nextfile
     bind . <Control-q> doquit
     bind . <Control-f> dofind
     bind . <Control-g> {findnext 0}
@@ -4440,12 +4446,26 @@ proc getblobdiffline {bdf ids} {
     }
 }
 
+proc prevfile {} {
+    global difffilestart ctext
+    set prev [lindex $difffilestart 0]
+    set here [$ctext index @0,0]
+    foreach loc $difffilestart {
+	if {[$ctext compare $loc >= $here]} {
+	    $ctext yview $prev
+	    break
+	}
+	set prev $loc
+    }
+}
+
 proc nextfile {} {
     global difffilestart ctext
     set here [$ctext index @0,0]
     foreach loc $difffilestart {
 	if {[$ctext compare $loc > $here]} {
 	    $ctext yview $loc
+	    break
 	}
     }
 }
_

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gitk: Fix nextfile() and more
  2006-09-25 13:46 [PATCH] gitk: Fix nextfile() and more OGAWA Hirofumi
@ 2006-09-26  5:24 ` Junio C Hamano
  2006-09-26 15:19   ` OGAWA Hirofumi
  2006-09-26 15:22   ` [PATCH] gitk: Fix nextfile() and add prevfile() OGAWA Hirofumi
  0 siblings, 2 replies; 7+ messages in thread
From: Junio C Hamano @ 2006-09-26  5:24 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: git, Paul Mackerras

OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:

> The current nextfile() jumps to last hunk, but I think this is not
> intention, probably, it's forgetting to add "break;". Right?  And this
> patch also adds prevfile(), it jumps to previous hunk.
>
> The following part is just my favorite the key-binds, it doesn't matter.
>
> +    bind . <Control-p> "$ctext yview scroll -1 units"
> +    bind . <Control-n> "$ctext yview scroll 1 units"
> +    bind . <Alt-v> "$ctext yview scroll -1 pages"
> +    bind . <Control-v> "$ctext yview scroll 1 pages"
> +    bindkey P prevfile
> +    bindkey N nextfile
>
> What do you think of this?

. As a patch e-mail, the initial Hi and trailing Thanks add
  additional work for the person who applies patch.

. ACK on missing "break" and addition of prevfile for symmetry.

. I do not have preference on the extra bindings.  I do not
  speak for Paul, but I suspect he would have liked them in a
  separate patch.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gitk: Fix nextfile() and more
  2006-09-26  5:24 ` Junio C Hamano
@ 2006-09-26 15:19   ` OGAWA Hirofumi
  2006-09-26 15:22   ` [PATCH] gitk: Fix nextfile() and add prevfile() OGAWA Hirofumi
  1 sibling, 0 replies; 7+ messages in thread
From: OGAWA Hirofumi @ 2006-09-26 15:19 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Paul Mackerras

Junio C Hamano <junkio@cox.net> writes:

> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> writes:
>
>> The current nextfile() jumps to last hunk, but I think this is not
>> intention, probably, it's forgetting to add "break;". Right?  And this
>> patch also adds prevfile(), it jumps to previous hunk.
>>
>> The following part is just my favorite the key-binds, it doesn't matter.
>>
>> +    bind . <Control-p> "$ctext yview scroll -1 units"
>> +    bind . <Control-n> "$ctext yview scroll 1 units"
>> +    bind . <Alt-v> "$ctext yview scroll -1 pages"
>> +    bind . <Control-v> "$ctext yview scroll 1 pages"
>> +    bindkey P prevfile
>> +    bindkey N nextfile
>>
>> What do you think of this?
>
> . As a patch e-mail, the initial Hi and trailing Thanks add
>   additional work for the person who applies patch.

Ok.

> . I do not have preference on the extra bindings.  I do not
>   speak for Paul, but I suspect he would have liked them in a
>   separate patch.

Ok. I'll send patches.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] gitk: Fix nextfile() and add prevfile()
  2006-09-26  5:24 ` Junio C Hamano
  2006-09-26 15:19   ` OGAWA Hirofumi
@ 2006-09-26 15:22   ` OGAWA Hirofumi
  2006-09-26 15:27     ` [PATCH] gitk: add some key-bind OGAWA Hirofumi
  2006-09-27  0:15     ` [PATCH] gitk: Fix nextfile() and add prevfile() Paul Mackerras
  1 sibling, 2 replies; 7+ messages in thread
From: OGAWA Hirofumi @ 2006-09-26 15:22 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git, Junio C Hamano

The current nextfile() jumps to last hunk, but I think this is not
intention, probably, it's forgetting to add "break;". And this
patch also adds prevfile(), it jumps to previous hunk.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 gitk |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff -puN gitk~gitk-nextfile-fix gitk
--- git/gitk~gitk-nextfile-fix	2006-09-27 00:16:11.000000000 +0900
+++ git-hirofumi/gitk	2006-09-27 00:16:48.000000000 +0900
@@ -4440,12 +4440,26 @@ proc getblobdiffline {bdf ids} {
     }
 }
 
+proc prevfile {} {
+    global difffilestart ctext
+    set prev [lindex $difffilestart 0]
+    set here [$ctext index @0,0]
+    foreach loc $difffilestart {
+	if {[$ctext compare $loc >= $here]} {
+	    $ctext yview $prev
+	    break
+	}
+	set prev $loc
+    }
+}
+
 proc nextfile {} {
     global difffilestart ctext
     set here [$ctext index @0,0]
     foreach loc $difffilestart {
 	if {[$ctext compare $loc > $here]} {
 	    $ctext yview $loc
+	    break
 	}
     }
 }
_

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] gitk: add some key-bind
  2006-09-26 15:22   ` [PATCH] gitk: Fix nextfile() and add prevfile() OGAWA Hirofumi
@ 2006-09-26 15:27     ` OGAWA Hirofumi
  2006-09-27  0:15     ` [PATCH] gitk: Fix nextfile() and add prevfile() Paul Mackerras
  1 sibling, 0 replies; 7+ messages in thread
From: OGAWA Hirofumi @ 2006-09-26 15:27 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git, Junio C Hamano

This add initial user of prevfile(), and additional some key-binds for
emacs users.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 gitk |    6 ++++++
 1 file changed, 6 insertions(+)

diff -puN gitk~gitk-key-emacs gitk
--- git/gitk~gitk-key-emacs	2006-09-27 00:17:31.000000000 +0900
+++ git-hirofumi/gitk	2006-09-27 00:17:31.000000000 +0900
@@ -672,6 +672,10 @@ proc makewindow {} {
     bind . <Control-Key-Down> "allcanvs yview scroll 1 units"
     bind . <Control-Key-Prior> "allcanvs yview scroll -1 pages"
     bind . <Control-Key-Next> "allcanvs yview scroll 1 pages"
+    bind . <Control-p> "$ctext yview scroll -1 units"
+    bind . <Control-n> "$ctext yview scroll 1 units"
+    bind . <Alt-v> "$ctext yview scroll -1 pages"
+    bind . <Control-v> "$ctext yview scroll 1 pages"
     bindkey <Key-Delete> "$ctext yview scroll -1 pages"
     bindkey <Key-BackSpace> "$ctext yview scroll -1 pages"
     bindkey <Key-space> "$ctext yview scroll 1 pages"
@@ -690,6 +694,8 @@ proc makewindow {} {
     bindkey <Key-Return> {findnext 0}
     bindkey ? findprev
     bindkey f nextfile
+    bindkey P prevfile
+    bindkey N nextfile
     bind . <Control-q> doquit
     bind . <Control-f> dofind
     bind . <Control-g> {findnext 0}
_

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gitk: Fix nextfile() and add prevfile()
  2006-09-26 15:22   ` [PATCH] gitk: Fix nextfile() and add prevfile() OGAWA Hirofumi
  2006-09-26 15:27     ` [PATCH] gitk: add some key-bind OGAWA Hirofumi
@ 2006-09-27  0:15     ` Paul Mackerras
  2006-09-27  3:32       ` OGAWA Hirofumi
  1 sibling, 1 reply; 7+ messages in thread
From: Paul Mackerras @ 2006-09-27  0:15 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: git, Junio C Hamano

OGAWA Hirofumi writes:

> The current nextfile() jumps to last hunk, but I think this is not
> intention, probably, it's forgetting to add "break;". And this
> patch also adds prevfile(), it jumps to previous hunk.

I think your prevfile isn't quite right - I don't think it will do the
right thing if $loc is past the last entry in $difffilestart.  Don't
you want the "$ctext yview $prev" after the loop?

Paul.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gitk: Fix nextfile() and add prevfile()
  2006-09-27  0:15     ` [PATCH] gitk: Fix nextfile() and add prevfile() Paul Mackerras
@ 2006-09-27  3:32       ` OGAWA Hirofumi
  0 siblings, 0 replies; 7+ messages in thread
From: OGAWA Hirofumi @ 2006-09-27  3:32 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git, Junio C Hamano

Paul Mackerras <paulus@samba.org> writes:

> OGAWA Hirofumi writes:
>
>> The current nextfile() jumps to last hunk, but I think this is not
>> intention, probably, it's forgetting to add "break;". And this
>> patch also adds prevfile(), it jumps to previous hunk.
>
> I think your prevfile isn't quite right - I don't think it will do the
> right thing if $loc is past the last entry in $difffilestart.  Don't
> you want the "$ctext yview $prev" after the loop?
>
> Paul.

Sure, it's obviously useful in the case of big hunk. Thanks.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>


The current nextfile() jumps to last hunk, but I think this is not
intention, probably, it's forgetting to add "break;". And this
patch also adds prevfile(), it jumps to previous hunk.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 gitk |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff -puN gitk~gitk-nextfile-fix gitk
--- git/gitk~gitk-nextfile-fix	2006-09-27 12:14:07.000000000 +0900
+++ git-hirofumi/gitk	2006-09-27 12:16:23.000000000 +0900
@@ -4440,12 +4440,27 @@ proc getblobdiffline {bdf ids} {
     }
 }
 
+proc prevfile {} {
+    global difffilestart ctext
+    set prev [lindex $difffilestart 0]
+    set here [$ctext index @0,0]
+    foreach loc $difffilestart {
+	if {[$ctext compare $loc >= $here]} {
+	    $ctext yview $prev
+	    return
+	}
+	set prev $loc
+    }
+    $ctext yview $prev
+}
+
 proc nextfile {} {
     global difffilestart ctext
     set here [$ctext index @0,0]
     foreach loc $difffilestart {
 	if {[$ctext compare $loc > $here]} {
 	    $ctext yview $loc
+	    return
 	}
     }
 }
_

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2006-09-27  3:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-25 13:46 [PATCH] gitk: Fix nextfile() and more OGAWA Hirofumi
2006-09-26  5:24 ` Junio C Hamano
2006-09-26 15:19   ` OGAWA Hirofumi
2006-09-26 15:22   ` [PATCH] gitk: Fix nextfile() and add prevfile() OGAWA Hirofumi
2006-09-26 15:27     ` [PATCH] gitk: add some key-bind OGAWA Hirofumi
2006-09-27  0:15     ` [PATCH] gitk: Fix nextfile() and add prevfile() Paul Mackerras
2006-09-27  3:32       ` OGAWA Hirofumi

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).