Not logged in
Check-in [c0e587b562]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:*** empty log message ***
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: c0e587b562f52a50c5d9af65c625a5a48a742ae9
User & Date: ramsan 2009-03-11 17:22:39
Context
2009-03-11
23:25
*** empty log message *** check-in: f2638c42a9 user: ramsan tags: trunk
17:22
*** empty log message *** check-in: c0e587b562 user: ramsan tags: trunk
2009-03-10
12:54
*** empty log message *** check-in: 2f13167a6c user: ramsan tags: trunk
Changes

Changes to RamDebugger.tcl.

     1      1   #!/bin/sh
     2      2   # the next line restarts using wish \
     3      3   exec wish "$0" "$@"
     4         -#         $Id: RamDebugger.tcl,v 1.117 2009/03/05 20:11:58 ramsan Exp $        
            4  +#         $Id: RamDebugger.tcl,v 1.118 2009/03/11 18:22:39 ramsan Exp $        
     5      5   # RamDebugger  -*- TCL -*- Created: ramsan Jul-2002, Modified: ramsan Feb-2007
     6      6   
     7      7   package require Tcl 8.5
     8      8   package require Tk 8.5
     9      9   
    10     10   # package require compass_utils
    11     11   # mylog::init -view_binding <Control-L> debug
................................................................................
    25     25   	}
    26     26   	return [uplevel 1 ::msgcat::mc $args]
    27     27       }
    28     28   }
    29     29   
    30     30   
    31     31   ################################################################################
    32         -#  This software is copyrighted by Ramon Ribó (RAMSAN) ramsan@compassis.com
           32  +#  This software is copyrighted by Ramon Ribó (RAMSAN) ramsan@compassis.com
    33     33   #  (http://www.gidhome.com/ramsan) The following terms apply to all files 
    34     34   #  associated with the software unless explicitly disclaimed in individual files.
    35     35   
    36     36   #  The authors hereby grant permission to use, copy, modify, distribute,
    37     37   #  and license this software and its documentation for any purpose, provided
    38     38   #  that existing copyright notices are retained in all copies and that this
    39     39   #  notice is included verbatim in any distributions. No written agreement,
................................................................................
   331    331   
   332    332       # this variable is only used on windows. It can be:
   333    333       # 0: Only check remote programs on demand (useful if not making remote debugging, the
   334    334       #    start up is faster)
   335    335       # 1: Register as remote and check remote programs on start up. It can be slower the
   336    336       #    start up but is better when making remote debugging
   337    337   
   338         -    if { $usecommR } {
   339         -	set options_def(CheckRemotes) 1
   340         -    }
          338  +    set options_def(CheckRemotes) 1
   341    339   
   342    340       set options_def(AutoSaveRevisions) 1
   343    341       set options_def(AutoSaveRevisions_time) 5
   344    342       set options_def(AutoSaveRevisions_idletime) 5
   345    343   
   346    344       set options_def(nonInstrumentingProcs) ""
   347    345   

Changes to scripts/cvshandle.tcl.

   632    632       if { [file isdirectory [file dirname $RamDebugger::currentfile]] } {
   633    633   	set directory [file dirname $RamDebugger::currentfile]
   634    634       } else {
   635    635   	set directory ""
   636    636       }
   637    637       set script ""
   638    638       foreach cmd [list update_recursive_do0 select_directory update_recursive_do1 \
   639         -	    update_recursive_cmd] {
          639  +	    update_recursive_accept update_recursive_cmd] {
   640    640   	set full_cmd RamDebugger::CVS::$cmd
   641    641   	append script "[list proc $cmd [info_fullargs $full_cmd] [info body $full_cmd]]\n"
   642    642       }
          643  +    append script "[list lappend ::auto_path {*}$::auto_path]\n"
   643    644       append script "[list update_recursive_do0 $directory]\n"
   644    645       
   645    646       if { 0&&$::tcl_platform(threaded) } {
   646    647   	package require Thread
   647    648   	thread::create $script
   648    649       } else {
   649    650   	if { ![interp exists update_recursive_intp] } {
................................................................................
   659    660       package require compass_utils
   660    661   
   661    662       wm withdraw .
   662    663       
   663    664       destroy ._ask
   664    665       set w [dialogwin_snit ._ask -title [_ "CVS update recursive"] -entrytext \
   665    666   	    [_ "Select origin directory for CVS update recursive:"] \
   666         -	    -okname [_ View] -morebuttons [list [_ "Update CVS"]]]
          667  +	    -okname [_ View] -morebuttons [list [_ "Update CVS"]] \
          668  +	    -grab 0 -callback [list update_recursive_do1]]
   667    669       set f [$w giveframe]
   668    670       
   669    671       set dict [cu::get_program_preferences -valueName cvs_update_recursive RamDebugger]
   670    672       $w set_uservar_value directories [dict_getd $dict directories ""]
   671    673       $w set_uservar_value messages [dict_getd $dict messages ""]
   672    674       
   673    675       ttk::label $f.l1 -text [_ "Directory"]:
................................................................................
   679    681       package require fulltktree
   680    682       set columns [list [list 100 [_ "line"] left item 0]]
   681    683       fulltktree $f.toctree -height 400 \
   682    684   	-columns $columns -expand 0 \
   683    685   	-selectmode extended -showheader 1 -showlines 0  \
   684    686   	-indent 0 -sensitive_cols all \
   685    687   	-contextualhandler_menu [list "update_recursive_cmd" $w contextual]
          688  +    $w set_uservar_value tree $f.toctree
   686    689       
   687    690       ttk::label $f.l2 -text [_ "Commit messages"]:
   688    691       cu::combobox $f.e2 -textvariable [$w give_uservar message ""] -valuesvariable \
   689    692   	[$w give_uservar messages] -width 60
   690    693   
   691    694       grid $f.l1 $f.e1 $f.b1 -sticky w -padx 2 -pady 2
   692    695       grid $f.toctree - - -sticky nsew
................................................................................
   700    703       } else {
   701    704   	$w set_uservar_value dir [lindex [$w give_uservar_value directories] 0]
   702    705       }
   703    706       $w set_uservar_value message ""
   704    707       
   705    708       tk::TabToWindow $f.e1
   706    709       bind [winfo toplevel $f] <Return> [list $w invokeok]
   707         -    set action [$w createwindow]
   708         -    while 1 {
   709         -	if { $action < 1 } {
   710         -	    destroy $w
   711         -	    return
   712         -	} elseif { $action == 1 } {
   713         -	    set what view
   714         -	} else {
   715         -	    set what update
   716         -	}
   717         -	set dir [$w give_uservar_value dir]
   718         -	$w set_uservar_value directories [linsert0 [$w give_uservar_value directories] $dir]
   719         -	set dict [cu::get_program_preferences -valueName cvs_update_recursive RamDebugger]
   720         -	dict set dict directories [$w give_uservar_value directories]
   721         -	cu::store_program_preferences -valueName cvs_update_recursive RamDebugger $dict
   722         -	$f.toctree item delete all
   723         -	update_recursive_do1 $what $dir $f.toctree 0
   724         -	set action [$w waitforwindow]
   725         -    }
          710  +    $w createwindow
   726    711   }
   727    712   
   728    713   proc RamDebugger::CVS::select_directory { w } {
   729    714       set dir [tk_chooseDirectory -initialdir [$w give_uservar_value dir] \
   730    715   	    -mustexist 1 -parent $w -title [_ "Select origin directory"]]
   731    716       if { $dir eq "" } { return }
   732    717       $w set_uservar_value dir $dir
   733    718   }
   734    719   
   735         -proc RamDebugger::CVS::update_recursive_do1 { what dir tree itemP { item "" } } {
          720  +proc RamDebugger::CVS::update_recursive_do1 { w } {
          721  +
          722  +    set action [$w giveaction]
          723  +
          724  +    if { $action < 1 } {
          725  +	destroy $w
          726  +	return
          727  +    } elseif { $action == 1 } {
          728  +	set what view
          729  +    } else {
          730  +	set what update
          731  +    }
          732  +    set dir [$w give_uservar_value dir]
          733  +    $w set_uservar_value directories [linsert0 [$w give_uservar_value directories] $dir]
          734  +    set dict [cu::get_program_preferences -valueName cvs_update_recursive RamDebugger]
          735  +    dict set dict directories [$w give_uservar_value directories]
          736  +    cu::store_program_preferences -valueName cvs_update_recursive RamDebugger $dict
          737  +    set tree [$w give_uservar_value tree]
          738  +    $tree item delete all
          739  +    update_recursive_accept $what $dir $tree 0
          740  +}
          741  +
          742  +proc RamDebugger::CVS::update_recursive_accept { what dir tree itemP { item "" } } {
   736    743       
   737    744       if { $item ne "" } {
   738    745   	foreach i [$tree item children $item] { $tree item delete $i }
   739    746       }
   740    747       if { [file exists [file join $dir CVS]] } {
   741    748   	set olddir [pwd]
   742    749   	cd $dir
................................................................................
   756    763   		$tree item configure $i -visible 0
   757    764   	    }
   758    765   	    update
   759    766   	}
   760    767       } else {
   761    768   	if { $item ne "" } { set itemP $item }
   762    769   	foreach d [glob -nocomplain -dir $dir -type d *] {
   763         -	    update_recursive_do1 $what $d $tree $itemP
          770  +	    update_recursive_accept $what $d $tree $itemP
   764    771   	}
   765    772       }
   766    773       if { $item ne "" } {
   767    774   	set num 0
   768    775   	foreach i [$tree item children $item] {
   769    776   	    if { [$tree item cget $i -visible] } { incr num }
   770    777   	}
................................................................................
   793    800   	}
   794    801   	commit {
   795    802   	    lassign $args tree sel_ids
   796    803   	    set message [$w give_uservar_value message]
   797    804   	    foreach item $sel_ids {
   798    805   		if { ![regexp {^M\s(\S+)} [$tree item text $item 0] {} file] } { continue }
   799    806   		set dir [$tree item text [$tree item parent $item] 0]
   800         -		set err [catch { exec cvs commit -m $message [file join $dir $file] 2>@1 } ret]
          807  +		set pwd [pwd]
          808  +		cd $dir
          809  +		set err [catch { exec cvs commit -m $message $file 2>@1 } ret]
   801    810   		$tree item element configure $item 0 e_text_sel -fill blue -text $ret
          811  +		cd $pwd
   802    812   	    }
   803    813   	    $w set_uservar_value messages [linsert0 [$w give_uservar_value messages] $message]
   804    814   	    set dict [cu::get_program_preferences -valueName cvs_update_recursive RamDebugger]
   805    815   	    dict set dict messages [$w give_uservar_value messages]
   806    816   	    cu::store_program_preferences -valueName cvs_update_recursive RamDebugger $dict
   807    817   	}
   808    818   	update {
................................................................................
   813    823   		    lappend ids $item
   814    824   		} else {
   815    825   		    lappend ids [$tree item parent $item]
   816    826   		}
   817    827   	    }
   818    828   	    foreach item [lsort -unique $ids] {
   819    829   		set dir [$tree item text $item 0]
   820         -		update_recursive_do1 $what_in $dir $tree [$tree item parent $item] $item
          830  +		update_recursive_accept $what_in $dir $tree [$tree item parent $item] $item
   821    831   	    }
   822    832   	}
   823    833   	view {
   824    834   	    lassign $args tree item view_style
   825    835   	    set visible 0
   826    836   	    foreach i [$tree item children $item] {
   827    837   		update_recursive_cmd $w view $tree $i $view_style