Re: mh.tcl bug report and hopefully identification.

Brent Welch <[email protected]>
Newsgroups gmane.mail.exmh.devel
Message-ID <[email protected]>
Hmm - this proposed fix doesn't make sense to me.  However, your
stack trace implies that "seq" has the value 5278-5285, that that
variable is an input parameter and should be the name of a sequence.
I can't see where "seq" is changed by anything (at least in my code)

>>>Klaus Elsbernd said:
 > As I mentioned earlier, I have trouble with constantly growing the 
 > .exmhcontext.
 > While I often get tcl-debug-windows, and because it seemes that I only
 > had 
 > those
 > errors, I digged myself into the code of mh.tcl.
 >  
 > When dealing with public sequences in Mh_SequenceUpdate (around line
 > 616,
 > mhPriv(pubseq,$folder,$seq) is set to
 > the expanded list of the sequence, by calling MhSeqExpand using
 > $seqs($seq).
 > When dealing with private sequences, one can assume the same behavior.
 > It happens often to me, that the call of MhSeqExpand using the same
 > argument
 > $seqs($seq) results in an unknown variable $seqs($seq).
 > 
 > I replaced $seqs($seq) by only $seq, which seems to work, although it is
 > clearly not indented.
 > The log-output showed to me that my change succeded. I have no further
 > debug-output on this subject.
 > 
 > ================
 > I suppose, if private and public sequences changes at the same time
 > within handling the public sequence section, $seq will be rewritten
 > (see some lines above) to an actual sequence and as the result, when
 > dealing with private sequence will no more contain the name.
 > perhaps one should rename the local variable within the public/private
 > sections
 > ================
 > 
 > 
 > ***************
 > *** 610,616 ****
 >         set mhPriv(changed,$which) 1
 >       }
 >       if {$mhPriv(changed,public) == 1} {
 > !       set mhPriv(pubseq,$folder,$seq) [MhSeqExpand $folder
 > $seqs($seq)]
 >         set filename $mhProfile(path)/$folder/$mhProfile(mh-sequences)
 >         if {[catch {open $filename.new w} out] == 0} {
 >             Exmh_Debug Writing $filename
 > --- 615,625 ----
 >         set mhPriv(changed,$which) 1
 >       }
 >       if {$mhPriv(changed,public) == 1} {
 > !       Exmh_Debug "mhPriv public changed $folder $seq"
 > !       set thisseq [MhSeqExpand $folder $seqs($seq)]
 > !       Exmh_Debug "set mhPriv to $thisseq"
 > !       set mhPriv(pubseq,$folder,$seq) $thisseq
 >         set filename $mhProfile(path)/$folder/$mhProfile(mh-sequences)
 >         if {[catch {open $filename.new w} out] == 0} {
 >             Exmh_Debug Writing $filename
 > ***************
 > *** 641,647 ****
 >         }
 >       }
 >       if {$mhPriv(changed,private) == 1} {
 > !       set mhPriv(privseq,$folder,$seq) [MhSeqExpand $folder
 > $seqs($seq)]
 >         set filename $mhProfile(context)
 >         if {[catch {open $filename.new w} out] == 0} {
 >             Exmh_Debug Writing $filename
 > --- 650,660 ----
 >         }
 >       }
 >       if {$mhPriv(changed,private) == 1} {
 > !       Exmh_Debug "mhPriv private changed $folder $seq"
 > !       set thisseq [MhSeqExpand $folder $seq ]
 > !       Exmh_Debug "set mhPriv to $thisseq"
 > !       set mhPriv(privseq,$folder,$seq) $thisseq
 >         set filename $mhProfile(context)
 >         if {[catch {open $filename.new w} out] == 0} {
 >             Exmh_Debug Writing $filename
 > 
 > Bis dann
 > Klaus
 > debug-output of exmh 2.6
 > can't read "seqs(5278-5285)": no such variable
 >     while executing
 > "MhSeqExpand $folder $seqs($seq)"
 >     (procedure "Mh_SequenceUpdate" line 66)
 >     invoked from within
 > "Mh_SequenceUpdate $folder del $seq $msgids"
 >     (procedure "Seq_Del" line 4)
 >     invoked from within
 > "Seq_Del $exmh(folder) $mhProfile(unseen-sequence) $msgid	"
 >     (procedure "FtocCommit" line 48)
 >     invoked from within
 > "FtocCommit deleted $rmmCommit"
 >     (procedure "Ftoc_Commit" line 14)
 >     invoked from within
 > "Ftoc_Commit $rmmCommit $moveCommit $copyCommit"
 >     (procedure "FolderCommit" line 4)
 >     invoked from within
 > "FolderCommit Mh_Rmm Mh_Refile Mh_Copy"
 >     ("uplevel" body line 1)
 >     invoked from within
 > "uplevel #0 $cmd"
 >     (procedure "busyCursorInner" line 8)
 >     invoked from within
 > "busyCursorInner $cmd $widgets"
 >     (procedure "busyCursorHack" line 32)
 >     invoked from within
 > "busyCursorHack $args"
 >     ("cursor" arm line 1)
 >     invoked from within
 > "switch $busy(style) {
 > 	icon		{busyIcon $args}
 > 	cursorAll	{busyCursor $args}
 > 	cursor		{busyCursorHack $args}
 > 	default		{eval $args}
 >     }"
 >     (procedure "busy" line 3)
 >     invoked from within
 > "busy FolderCommit $rmmCommit $moveCommit $copyCommit"
 >     (procedure "Folder_Commit" line 2)
 >     invoked from within
 > "Folder_Commit"
 >     (command bound to event)
 > 
 > -- 
 > "Sure, vi is user friendly.
 >  It's just particular about who it makes friends with." ;-) 
 >                                       _________________________
 > Klaus Elsbernd; System Administrator, BOFH        |
 > [email protected]
 > Deutsches Forschungsz. für Künstliche Intelligenz | DFKI GmbH, Geb.
 > 57/285
 > 67657 Kaiserslautern; Germany                     | Tel: (+49)
 > 0631/205-3486
 > 
 > 

--
Brent Welch
Software Architect, Panasas Inc
Delivering the World's Most Scalable and Agile Storage Network
www.panasas.com
[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.