i have some patches that seem to fix avoid this problem now it is amazing what one can achieve when mains power fails long enough for ups s to run out and all that is left operational is the laptop and its battery supply first i put in some defensive code into the area where the problem was occurring so that if exmh is attempting for any reason to expand a sequence that isn t either a number or a range of numbers or a list of such things it will simply ignore the trash rather than giving a traceback this one solves the initial problem mh tcl was thu aug NUMBER NUMBER NUMBER NUMBER NUMBER mh tcl wed aug NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER set seq set rseq foreach range split string trim sequence if regexp NUMBER NUMBER NUMBER NUMBER range just ignore anything bogus continue set parts split string trim range if llength parts NUMBER lappend seq parts that is amending proc mhseqexpand which is where the error was occurring before the code assumes that range is either nnn or nnn mmm so we should probably make sure that s true issue an error instead of just continue if you like but i don t think an error is needed but that just allowed me to create a similar problem in another place by typing nnn and rather than continue to fight fires like this i thought i should think more about brent s suggestion but rather than have the selection code actually validate the input which would mean it would have to know what is to be valid i decided that the right thing to do is just to ignore any errors caused by invalid input so i just stuck a catch around the msgshow that is processing the nonsense that the user has typed this way any later expansion to what msgshow treats as legal maybe allowing a sequence name like prev or next or anything else can be handled just there without someone needing to remember that they have to go fix the selection processing code to allow it but while i was playing there i noticed something i never new before if you type NUMBER the NUMBER changes to NUMBER and so on for each that is typed i suspect that s perhaps an artifact of is bound to a different function so it can be used as a toggle between changing the current and the target folder but it has to mean something if the current input mode is a message number so let it mean but now i found it i think its nice but if we can type NUMBER why not NUMBER as well that kind of limitation bugs me so i fixed it and then i wondered about folders with names containing the special use of as the toggle character means there s no way to type those from the keyboard so i fixed that as well this makes two different restrictions there s no way to type a folder name that has a name beginning with but such a thing in mh would be a pain to use anyway so i doubt this will bother anyone and it is now only possible to toggle between typing the current target folder name when the name being typed is empty i m less happy about that part but i think i can live with it in order to allow folder names with s in them to exist and be typed then since i was there anyway i decided to do something about another feature that has always bugged me in normal keyboard mode s is the key used to show a message but if you ve just typed NUMBER and the ftoc is highlighting NUMBER as the current message and you want to now show that message you can t type s you have to type r instead so i fixed this one as well fixed here is in quotes as it assumes that the keybinding for msgshow is s if you change that to something else it will remain s in here i don t know enough tk tcl to have it discover what key is bound to a function in the external world in order to bind the same one here r continues to work of course and now i got started in fixing irritants in this code i also made it clear the status line if you abort message folder entry mode c or g previously it used to leave the prompt sitting there until the next message appeared which made it less than obvious that the keyboard had reverted to its usual bindings in any case what follows is the patch that does all of that i believe that if you apply this then the one above is probably not needed the catch around the msgshow will hide the problem i don t think we really need to fix brent s way of invoking it or include it anyway just for completeness i haven t run an exmh with the following patch but not the previous one so i don t know for sure that all will be ok then kre select tcl was thu aug NUMBER NUMBER NUMBER NUMBER NUMBER select tcl wed aug NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER bindtags w list w entry bind w any key selecttypein w a bind w key plus selecttoggle w bind w key minus selectprev w bind w space selectcomplete w bind w tab selectcomplete w bind w return selectreturn w bind w key s selectreturn w a bind w backspace selectbackspace w bind w control h selectbackspace w bind w delete selectbackspace w NUMBER NUMBER NUMBER NUMBER append select sel a exmh_status select prompt select sel if info exists select folder msg_change select sel noshow catch msg_change select sel noshow proc selectbackspace w NUMBER NUMBER NUMBER NUMBER proc selecttoggle w global select if info exists select folder if select sel selecttypein w return set select toggle list lindex select toggle NUMBER lindex select toggle NUMBER set select prompt lindex select toggle NUMBER folder else NUMBER NUMBER NUMBER NUMBER exmh_status select prompt select sel proc selectprev w global select if info exists select folder selecttypein w else catch incr select sel NUMBER msg_change select sel noshow exmh_status select prompt select sel proc selectcomplete w global select if info exists select folder NUMBER NUMBER NUMBER NUMBER exmh_status select prompt select sel proc selectreturn w proc selectreturn w a global select if info exists select folder if a selecttypein w a return if info exists select match set select sel select match unset select match NUMBER NUMBER NUMBER NUMBER unset select folder select entry configure state disabled exmh_status exmh_focus proc selectclear w _______________________________________________ exmh workers mailing list exmh workers URL URL 