threads / discuss / 1932

The latest commit to add new keybindings

Subject: The latest commit to add new keybindings

## tl;dr

4 messages between Sep 24, 2005 and Sep 26, 2005.

replies: 3people: 3as markdown or json

Junio C Hamano· Sep 24, 2005, 01:31 UTC · lore

Paul, I was looking at the gitk repository thinking it's about time for me to slurp your changes in, and have two questions.

The 'new keybindings' commit from Robert Suetterlin changes the beginning of gitk to:

        --- a/gitk
        +++ b/gitk
        @@ -1,6 +1,6 @@
         #!/bin/sh
         # Tcl ignores the next line -*- tcl -*- \
        -exec wish "$0" -- "${1+$@}"
        +exec wish8.4 "$0" -- "${1+$@}"

Do you actually require 8.4, or any reasonably recent wish would do? The reason I ask is that Debian side (debian/control) explicitly depends on 'tk8.4' but RPM side (git-core.spec.in) just says 'tk'. I could change the RPM side to also require 8.4 but I do not have ready access to any RPM machine to test it with, so if that is not needed I'd rather not touch spec.in file.

Another thing, which is unrelated to Robert's change, is that I suspect the exec command line should be like either one of these (the first one is probably more old-fashioned):

	exec wish "$0" -- ${1+"$@"}
	exec wish "$0" -- "$@"

With "${1+$@}", you are passing an empty parameter after '--' when gitk itself receives no parameter. Maybe it is intended, maybe not...

prompt$ cat >one.sh <<\EOF
#!/bin/sh
exec ./two.sh "$0" -- "${1+$@}"
EOF
prompt$ cat >two.sh <<\EOF
#!/bin/sh
echo "\$0 is $0"
echo "\$# is $#"
i=1
for a
do
	echo "\$$i is $a"
	i=`expr $i + 1`
done
EOF
prompt$ chmod +x one.sh two.sh
prompt$ ./one.sh foo
$0 is /var/tmp/gomi/two.sh
$# is 3
$1 is <./one.sh>
$2 is <-->
$3 is <foo>
prompt$ ./one.sh
$0 is /var/tmp/gomi/two.sh
$# is 3
$1 is <./one.sh>
$2 is <-->
$3 is <>
prompt$ exit
Paul Mackerras· Sep 26, 2005, 00:26 UTC · re: Junio C Hamano · lore

Re: The latest commit to add new keybindings

Junio C Hamano writes:
> Do you actually require 8.4, or any reasonably recent wish would
> do?

Checking in the change from "wish" to "wish8.4" was a mistake - that was a change I made for some tests, and I forgot to change it back. However, gitk does need tk 8.4 or later, since it uses the panedwindow widget, which tk 8.3 doesn't have. I have tk8.5a2 installed here, which is nice because it does antialiased fonts, although it is a bit slower (clock format is much slower because they changed it from being implemented in C to Tcl).

> With "${1+$@}", you are passing an empty parameter after '--'
> when gitk itself receives no parameter.  Maybe it is intended,
> maybe not...
No, it isn't intended, thanks for pointing that out.

Regards, Paul.

H. Peter Anvin· Sep 26, 2005, 22:04 UTC · re: Paul Mackerras · lore

Re: The latest commit to add new keybindings

Paul Mackerras wrote:
Show 15 quoted lines
> Junio C Hamano writes:
> 
> 
>>Do you actually require 8.4, or any reasonably recent wish would
>>do?
> 
> 
> Checking in the change from "wish" to "wish8.4" was a mistake - that
> was a change I made for some tests, and I forgot to change it back.
> However, gitk does need tk 8.4 or later, since it uses the panedwindow
> widget, which tk 8.3 doesn't have.  I have tk8.5a2 installed here,
> which is nice because it does antialiased fonts, although it is a bit
> slower (clock format is much slower because they changed it from being
> implemented in C to Tcl).
> 
It would be good if the dependency then said tk >= 8.4.
	-hpa

← back to recent threads