(no subject)

Harvey Eneman <[email protected]>
Newsgroups gmane.mail.exmh.devel
Message-ID <[email protected]>
I've noticed for sometime that using the separate background process, the 
foreground process occasionally failed to report unseen messages.  I believe 
this is the same issue that was raised by Jongki Suwandi in a note to 
exmh-users on Mar 31.  As Jongki Suwandi indicated, if the background process 
thinks that it has already reported the current sequence to the foreground 
process, it does not send it again.  My initial resolution to the problem was 
to simply not cache the unseen sequence (see the attached flist.tcl patch).  I 
then noticed a subsequent issue:  Mh_Sequences does not clear a folder's 
sequences when the sequence file no longer exists.  I have provided a solution 
to this issue in the attached mh.tcl patch.

Regards,

Harv

_______________________________________________
Exmh-workers mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/exmh-workers
flist.tcl.patch (application/x-patch, 1.1 KB)
*** flist.tcl.orig	Thu Apr  3 15:39:55 2003
--- flist.tcl	Mon Sep  6 14:32:39 2004
***************
*** 303,309 ****
  }
  
  proc FlistFindSeqsInner {} {
!     global flist seqwin flistcache
      if {[catch {
      FlistGetContext
      foreach folder $flist(unseenfolders) {
--- 303,309 ----
  }
  
  proc FlistFindSeqsInner {} {
!     global flist seqwin flistcache mhProfile
      if {[catch {
      FlistGetContext
      foreach folder $flist(unseenfolders) {
***************
*** 316,322 ****
                    # Cache added 2/11/03
                    # Sequence is different than last time we checked
  
!                   set flistcache($folder,$seq) $seqlist
                    BgRPC Seq_Set $folder $seq $seqlist
                  }
              }
--- 316,324 ----
                    # Cache added 2/11/03
                    # Sequence is different than last time we checked
  
! 	          if {$seq != $mhProfile(unseen-sequence)} {
!                     set flistcache($folder,$seq) $seqlist
! 	          }
                    BgRPC Seq_Set $folder $seq $seqlist
                  }
              }
mh.tcl.patch (application/x-patch, 2.5 KB)
*** mh.tcl.orig	Mon Jan 12 18:28:58 2004
--- mh.tcl	Mon Sep  6 14:33:41 2004
***************
*** 425,432 ****
      # First read the private sequence
      set mhPriv(changed,private) 0
      set filename $mhProfile(context)
!     if [file exists $filename] {
! 	set mtime [file mtime $filename]
  	if {![info exists mhPriv(privmtime)] || ($mtime != $mhPriv(privmtime))} {
  	    foreach elem [array names mhPriv] {
  		set indices [split $elem ,]
--- 425,431 ----
      # First read the private sequence
      set mhPriv(changed,private) 0
      set filename $mhProfile(context)
!     if {![catch {set mtime [file mtime $filename]}]} {
  	if {![info exists mhPriv(privmtime)] || ($mtime != $mhPriv(privmtime))} {
  	    foreach elem [array names mhPriv] {
  		set indices [split $elem ,]
***************
*** 458,463 ****
--- 457,472 ----
  		set mhPriv(privmtime) $mtime
  	    }
  	}
+     } elseif {[info exists mhPriv(privmtime)]} {
+ 	unset mhPriv(privmtime)
+ 	foreach elem [array names mhPriv] {
+ 	    set indices [split $elem ,]
+ 	    if {[lindex $indices 0] == {privseq}} {
+ 	        if {[lindex $indices 1] == $folder} {
+ 		    unset mhPriv($elem)
+ 		}
+ 	    }
+ 	}
      }
      foreach elem [array names mhPriv] {
  	set indices [split $elem ,]
***************
*** 470,477 ****
      # Then read the public sequence
      set mhPriv(changed,public) 0
      set filename "$mhProfile(path)/$folder/$mhProfile(mh-sequences)"
!     if [file exists $filename] {
! 	set mtime [file mtime $filename]
  	if {![info exists mhPriv(seqmtime,$folder)] || ($mtime != $mhPriv(seqmtime,$folder))} {
  	    foreach elem [array names mhPriv] {
  		set indices [split $elem ,]
--- 479,485 ----
      # Then read the public sequence
      set mhPriv(changed,public) 0
      set filename "$mhProfile(path)/$folder/$mhProfile(mh-sequences)"
!     if {![catch {set mtime [file mtime $filename]}]} {
  	if {![info exists mhPriv(seqmtime,$folder)] || ($mtime != $mhPriv(seqmtime,$folder))} {
  	    foreach elem [array names mhPriv] {
  		set indices [split $elem ,]
***************
*** 505,510 ****
--- 513,528 ----
  		set mhPriv(seqmtime,$folder) $mtime
  	    }
  	}
+     } elseif {[info exists mhPriv(seqmtime,$folder)]} {
+ 	unset mhPriv(seqmtime,$folder)
+ 	foreach elem [array names mhPriv] {
+ 	    set indices [split $elem ,]
+ 	    if {[lindex $indices 0] == {pubseq}} {
+ 	        if {[lindex $indices 1] == $folder} {
+ 		    unset mhPriv($elem)
+ 		}
+ 	    }
+         }
      }
      foreach elem [array names mhPriv] {
  	set indices [split $elem ,]
signature.asc (application/pgp-signature, 224 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (SunOS)
Comment: Exmh version 2.6.3 04/04/2003

iD8DBQFBPV3RJWLrSYxEfJMRAsfvAJ9OOfryLUzSZZRRN1+gV+nsIQpcyQCePNnn
3zrXMYUMXfV1MLqQ50t76YA=
=suri
-----END PGP SIGNATURE-----
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.