Hi All, i built mutt 1.5.17 on cygwin, and had trouble getting the header/body caching to work. A bit of investigation revealed that the culprit is the inability to use a ':' in a filename on cygwin/win32 coupled with the cache naming scheme based on the imap url which includes a ':'. As a quick fix, i patched both bcache_path in bcache.c and mutt_hcache_per_folder in hcache.c to mutt_sanitize_filename their cache paths before returning them, and removed ':' from the list of legal filename characters safe_chars for mutt_sanitize_filename in lib.c. Things appear to work with these fixes.
i'm not sure how acceptable removing : from the characters considered safe is, or if there's a way to make this platform dependent. i've attached a patch generated using diff against the distributed 1.5.17 sources.i left the dprint i used to check what was going on in also. Apologies for not using mercurial as advised in devel-notes.txt, but my attempts to use the win32 all in one versions of mercurial to clone mutt failed (abort: premature EOF reading chunk (got 33076 bytes, expected 37378)). - robbie
