Merge branch 'maint' of git://repo.or.cz/git-gui into maint
authorJunio C Hamano <gitster@pobox.com>
Tue, 12 Jun 2007 07:05:24 +0000 (00:05 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 12 Jun 2007 07:05:24 +0000 (00:05 -0700)
* 'maint' of git://repo.or.cz/git-gui:
git-gui: Save geometry before the window layout is damaged
git-gui: Give amend precedence to HEAD over MERGE_MSG
git-gui: Include 'war on whitespace' fixes from git.git

git-gui/GIT-VERSION-GEN
git-gui/git-gui.sh
git-gui/lib/blame.tcl
git-gui/lib/browser.tcl
git-gui/lib/class.tcl
git-gui/lib/console.tcl
git-gui/lib/merge.tcl
index 25647c8060d8e30ef48d972e487dc9b280266b88..eee495a98666094415233a7023c03db9852dfe53 100755 (executable)
@@ -78,5 +78,3 @@ test "$VN" = "$VC" || {
        echo >&2 "GITGUI_VERSION = $VN"
        echo "GITGUI_VERSION = $VN" >$GVF
 }
-
-
index dfb4b955eb1d33fdd90b25e1e575ed86949bbd9f..97de595f2788ce28b4475bbbc726bfdd195ce434 100755 (executable)
@@ -471,7 +471,8 @@ proc rescan {after {honor_trustmtime 1}} {
 
        if {![$ui_comm edit modified]
                || [string trim [$ui_comm get 0.0 end]] eq {}} {
-               if {[load_message GITGUI_MSG]} {
+               if {[string match amend* $commit_type]} {
+               } elseif {[load_message GITGUI_MSG]} {
                } elseif {[load_message MERGE_MSG]} {
                } elseif {[load_message SQUASH_MSG]} {
                }
@@ -1621,7 +1622,7 @@ unset browser doc_path doc_url
 
 # -- Standard bindings
 #
-bind .   <Destroy> {if {{%W} eq {.}} do_quit}
+wm protocol . WM_DELETE_WINDOW do_quit
 bind all <$M1B-Key-q> do_quit
 bind all <$M1B-Key-Q> do_quit
 bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}
index 98687c77daf2f5746b40674abc0e9fac8a0de7ed..139171d39edd343c48bfb3cb2a94b1437b596f07 100644 (file)
@@ -289,7 +289,6 @@ constructor new {i_commit i_path} {
 
        bind $w_cviewer <Button-1> [list focus $w_cviewer]
        bind $top <Visibility> [list focus $top]
-       bind $w_file <Destroy> [list delete_this $this]
 
        grid configure $w.header -sticky ew
        grid configure $w.file_pane -sticky nsew
index fd86b11217cae2eab380362363cd7f4e8f79296a..3d6341bcc53d0e61b0817dcc5d9778f714b026b9 100644 (file)
@@ -70,7 +70,6 @@ constructor new {commit} {
        bind $w_list <Right>           break
 
        bind $w_list <Visibility> [list focus $w_list]
-       bind $w_list <Destroy> [list delete_this $this]
        set w $w_list
        _ls $this $browser_commit
        return $this
index 88b056522a866b3acc9620218ec8dfae042d62a2..9d298d0dcc7d305eded58911c3c0758e94bb7ab6 100644 (file)
@@ -120,10 +120,21 @@ proc delete_this {{t {}}} {
        if {[namespace exists $t]} {namespace delete $t}
 }
 
-proc make_toplevel {t w} {
-       upvar $t top $w pfx
+proc make_toplevel {t w args} {
+       upvar $t top $w pfx this this
+
+       if {[llength $args] % 2} {
+               error "make_toplevel topvar winvar {options}"
+       }
+       set autodelete 1
+       foreach {name value} $args {
+               switch -exact -- $name {
+               -autodelete {set autodelete $value}
+               default     {error "unsupported option $name"}
+               }
+       }
+
        if {[winfo ismapped .]} {
-               upvar this this
                regsub -all {::} $this {__} w
                set top .$w
                set pfx $top
@@ -132,6 +143,13 @@ proc make_toplevel {t w} {
                set top .
                set pfx {}
        }
+
+       if {$autodelete} {
+               wm protocol $top WM_DELETE_WINDOW "
+                       [list delete_this $this]
+                       [list destroy $top]
+               "
+       }
 }
 
 
@@ -151,4 +169,3 @@ auto_mkindex_parser::command constructor {name args} {
                [format { [list source [file join $dir %s]]} \
                [file split $scriptFile]] "\n"
 }
-
index 8c112f3a8924c1cc82dcaa0a78a85506be162a50..ce25d92cac7b7826d8e04adc18d6e8a3c133096d 100644 (file)
@@ -17,7 +17,7 @@ constructor new {short_title long_title} {
 
 method _init {} {
        global M1B
-       make_toplevel top w
+       make_toplevel top w -autodelete 0
        wm title $top "[appname] ([reponame]): $t_short"
        set console_cr 1.0
 
index 24ed24b3d091230d186208bd3656867f3fea70a0..ae0389df5bfb13b2823720c241b861b7b36b9e95 100644 (file)
@@ -125,7 +125,8 @@ Please select fewer branches.  To merge more than 15 branches, merge the branche
        set cons [console::new "Merge" $msg]
        console::exec $cons $cmd \
                [namespace code [list _finish $revcnt $cons]]
-       bind $w <Destroy> {}
+
+       wm protocol $w WM_DELETE_WINDOW {}
        destroy $w
 }
 
@@ -250,7 +251,7 @@ proc dialog {} {
        bind $w <$M1B-Key-Return> $_start
        bind $w <Visibility> "grab $w; focus $w.source.l"
        bind $w <Key-Escape> "unlock_index;destroy $w"
-       bind $w <Destroy> unlock_index
+       wm protocol $w WM_DELETE_WINDOW "unlock_index;destroy $w"
        wm title $w "[appname] ([reponame]): Merge"
        tkwait window $w
 }