Fixing these problems ( 8-Aug-08):
    Original error: bad variable name "mr_state(done)": upvar won't create a scalar variable that looks like an array element
    Error in bgerror: bad variable name "bug(done)": upvar won't create a scalar variable that looks like an array element

and fialing to bring up the "Edit Monthly..." dialog.

due to changes in tcl-8.5 (and maybe pre-existing latent bugs).

--- tcllib/support.tcl-	2008-08-08 11:04:56.000000000 -0700
+++ tcllib/support.tcl	2008-08-08 11:12:30.000000000 -0700
@@ -129,7 +129,9 @@
 #		 centered on <leader>.
 
 proc dialog_run {leader window var {focuswin ""}} {
-    global $var
+    # Pre-tcl 8.5 seemed to tolerate not pruning the (), but no longer.
+    set arrayless_var [regsub {\(.*\)$} $var {}]
+    global $arrayless_var
 
     # Wait for window geometry to be computed if possible
     update idletasks
--- dg_monthr.tcl-	2008-08-08 10:57:08.000000000 -0700
+++ dg_monthr.tcl	2008-08-08 11:11:12.000000000 -0700
@@ -51,7 +51,7 @@
     toplevel $f -class Dialog
     wm title $f "Monthly Repetition"
     wm iconname $f "Repeat"
-    wm protocol $f WM_DELETE_WINDOW {set mr_state(done) 0}
+	wm protocol $f WM_DELETE_WINDOW {global mr_state; set mr_state(done) 0}
 
     frame $f.top   -class Pane
     frame $f.left  -class Pane
@@ -61,8 +61,8 @@
     pack $f.text -in $f.top -side top -expand 1 -fill both -padx 5m -pady 5m
 
     make_buttons $f.bot 1 {
-	{Cancel		{set mr_state(done) 0}}
-	{Okay		{set mr_state(done) 1}}
+	{Cancel		{global mr_state; set mr_state(done) 0}}
+	{Okay		{global mr_state; set mr_state(done) 1}}
     }
 
     # Create interval buttons
@@ -75,6 +75,7 @@
 	{{Every Six Months}	6}
     }
 
+    global mr_state
     foreach i $buttons {
 	radiobutton $f.i[lindex $i 1] -text [lindex $i 0]\
 	    -variable mr_state(int) -value [lindex $i 1]\
@@ -104,8 +105,8 @@
     pack $f.left  -side left -expand 1 -fill both
     pack $f.right -side left -expand 1 -fill both
 
-    bind $f <Control-c> {set mr_state(done) 0}
-    bind $f <Return>    {set mr_state(done) 1}
+    bind $f <Control-c> {global mr_state; set mr_state(done) 0}
+    bind $f <Return>    {global mr_state; set mr_state(done) 1}
 
     wm withdraw $f
     update
--- dg_range.tcl~	2004-03-11 02:14:14.000000000 -0800
+++ dg_range.tcl	2008-08-08 11:23:30.000000000 -0700
@@ -47,7 +47,7 @@
     toplevel $f -class Dialog
     wm title $f "Select Range"
     wm iconname $f "Range"
-    wm protocol $f WM_DELETE_WINDOW {set dr_state(done) 0}
+    wm protocol $f WM_DELETE_WINDOW {global dr_state; set dr_state(done) 0}
 
     frame $f.top -class Pane
     message $f.text -aspect 800 -text {Restrict item repetition range...}
@@ -62,16 +62,16 @@
     pack $f.finish  -in $f.mid -side top -expand 1 -fill both -padx 5m -pady 5m
 
     make_buttons $f.bot 1 {
-	{Cancel		{set dr_state(done) 0}}
-	{Okay		{set dr_state(done) 1}}
+	{Cancel		{global dr_state; set dr_state(done) 0}}
+	{Okay		{global dr_state; set dr_state(done) 1}}
     }
 
     pack $f.top -side top -fill both -expand 1
     pack $f.mid -side top -fill both -expand 1
     pack $f.bot -side bottom -fill x
 
-    bind $f <Control-c> {set dr_state(done) 0}
-    bind $f <Return>    {set dr_state(done) 1}
+    bind $f <Control-c> {global dr_state; set dr_state(done) 0}
+    bind $f <Return>    {global dr_state; set dr_state(done) 1}
 
     wm withdraw $f
     update
--- dg_wdays.tcl~	2004-03-11 02:14:14.000000000 -0800
+++ dg_wdays.tcl	2008-08-08 11:24:47.000000000 -0700
@@ -54,7 +54,7 @@
     toplevel $f -class Dialog
     wm title $f {Weekly Repetition}
     wm iconname $f Repeat
-    wm protocol $f WM_DELETE_WINDOW {set ws_state(done) 0}
+    wm protocol $f WM_DELETE_WINDOW {global ws_state; set ws_state(done) 0}
 
     frame $f.top   -class Pane
     frame $f.left  -class Pane
@@ -64,8 +64,8 @@
     pack $f.text -in $f.top -side top -expand 1 -fill both -padx 5m -pady 5m
 
     make_buttons $f.bot 1 {
-	{Cancel		{set ws_state(done) 0}}
-	{Okay		{set ws_state(done) 1}}
+	{Cancel		{global ws_state; set ws_state(done) 0}}
+	{Okay		{global ws_state; set ws_state(done) 1}}
     }
 
     # Make set of weekdays
@@ -107,8 +107,8 @@
     pack $f.right -side left -expand 1 -fill both
     pack $f.left -side left -expand 1 -fill both
 
-    bind $f <Control-c> {set ws_state(done) 0}
-    bind $f <Return>    {set ws_state(done) 1}
+    bind $f <Control-c> {global ws_state; set ws_state(done) 0}
+    bind $f <Return>    {global ws_state; set ws_state(done) 1}
 
     wm withdraw $f
     update
