Index: openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl,v
diff -u -r1.54.2.3 -r1.54.2.4
--- openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl	19 Oct 2015 17:33:01 -0000	1.54.2.3
+++ openacs-4/packages/acs-lang/tcl/lang-message-procs.tcl	14 Oct 2016 18:58:53 -0000	1.54.2.4
@@ -864,7 +864,7 @@
             }
             
             # encode the key in the page
-            set message "$message\x002(\x001$key\x001)\x002"
+            set message "$message\x02(\x01$key\x01)\x02"
         }
     }
 
Index: openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl,v
diff -u -r1.140.2.53 -r1.140.2.54
--- openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl	10 Oct 2016 08:43:05 -0000	1.140.2.53
+++ openacs-4/packages/acs-tcl/tcl/utilities-procs.tcl	14 Oct 2016 18:58:53 -0000	1.140.2.54
@@ -3254,10 +3254,10 @@
 
     # Save some german and french characters from removal by replacing
     # them with their ascii counterparts.
-    set text [string map { \x00e4 ae \x00f6 oe \x00fc ue \x00df ss \x00f8 o \x00e0 a \x00e1 a \x00e8 e \x00e9 e } $text]
+    set text [string map { \xe4 ae \xf6 oe \xfc ue \xdf ss \xf8 o \xe0 a \xe1 a \xe8 e \xe9 e } $text]
 
     # here's the Danish ones (hm. the o-slash conflicts with the definition above, which just says 'o')
-    set text [string map { \x00e6 ae \x00f8 oe \x00e5 aa \x00C6 Ae \x00d8 Oe \x00c5 Aa } $text]
+    set text [string map { \xe6 ae \xf8 oe \xe5 aa \xC6 Ae \xd8 Oe \xc5 Aa } $text]
 
     # substitute all non-word characters
     regsub -all {([^a-z0-9])+} $text $replacement text
Index: openacs-4/packages/acs-templating/tcl/acs-integration-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/tcl/acs-integration-procs.tcl,v
diff -u -r1.23.2.2 -r1.23.2.3
--- openacs-4/packages/acs-templating/tcl/acs-integration-procs.tcl	3 Oct 2016 18:52:07 -0000	1.23.2.2
+++ openacs-4/packages/acs-templating/tcl/acs-integration-procs.tcl	14 Oct 2016 18:58:53 -0000	1.23.2.3
@@ -111,15 +111,15 @@
             set apm_package_url [apm_package_url_from_key "acs-lang"]
             
             # Attempt to move all message keys outside of tags
-            while { [regsub -all {(<[^>]*)(\x002\(\x001[^\x001]*\x001\)\x002)([^>]*>)} $parsed_template {\2\1\3} parsed_template] } {}
+            while { [regsub -all {(<[^>]*)(\x02\(\x01[^\x01]*\x01\)\x02)([^>]*>)} $parsed_template {\2\1\3} parsed_template] } {}
             
             # Attempt to move all message keys outside of <select>...</select> statements
-            regsub -all -nocase {(<option\s[^>]*>[^<]*)(\x002\(\x001[^\x001]*\x001\)\x002)([^<]*</option[^>]*>)} $parsed_template {\2\1\3} parsed_template
+            regsub -all -nocase {(<option\s[^>]*>[^<]*)(\x02\(\x01[^\x01]*\x01\)\x02)([^<]*</option[^>]*>)} $parsed_template {\2\1\3} parsed_template
 
-            while { [regsub -all -nocase {(<select[^>]*>[^<]*)(\x002\(\x001[^\x001]*\x001\)\x002)} $parsed_template {\2\1} parsed_template] } {}
+            while { [regsub -all -nocase {(<select[^>]*>[^<]*)(\x02\(\x01[^\x01]*\x01\)\x02)} $parsed_template {\2\1} parsed_template] } {}
 
             set start 0
-            while { [regexp -nocase -indices -start $start {(<select[^\x002]*)(\x002\(\x001[^\x001]*\x001\)\x002)} $parsed_template indices select_idx message_idx] } {
+            while { [regexp -nocase -indices -start $start {(<select[^\x02]*)(\x02\(\x01[^\x01]*\x01\)\x02)} $parsed_template indices select_idx message_idx] } {
                 set select [string range $parsed_template [lindex $select_idx 0] [lindex $select_idx 1]]
 
                 if { [string first "</select" [string tolower $select]] != -1 } {
@@ -134,7 +134,7 @@
 
             # TODO: We could also move message keys out of <head>...</head>
 
-            while { [regexp -indices {\x002\(\x001([^\x001]*)\x001\)\x002} $parsed_template indices key] } {
+            while { [regexp -indices {\x02\(\x01([^\x01]*)\x01\)\x02} $parsed_template indices key] } {
                 set before [string range $parsed_template 0 [lindex $indices 0]-1]
                 set after [string range $parsed_template [lindex $indices 1]+1 end]
 
Index: openacs-4/packages/ajaxhelper/www/doc/acs-integration-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/ajaxhelper/www/doc/acs-integration-procs.tcl,v
diff -u -r1.3 -r1.3.2.1
--- openacs-4/packages/ajaxhelper/www/doc/acs-integration-procs.tcl	27 Oct 2014 16:40:53 -0000	1.3
+++ openacs-4/packages/ajaxhelper/www/doc/acs-integration-procs.tcl	14 Oct 2016 18:58:53 -0000	1.3.2.1
@@ -110,15 +110,15 @@
         if { [lang::util::translator_mode_p] } {
             
             # Attempt to move all message keys outside of tags
-            while { [regsub -all {(<[^>]*)(\x002\(\x001[^\x001]*\x001\)\x002)([^>]*>)} $parsed_template {\2\1\3} parsed_template] } {}
+            while { [regsub -all {(<[^>]*)(\x02\(\x01[^\x01]*\x01\)\x02)([^>]*>)} $parsed_template {\2\1\3} parsed_template] } {}
             
             # Attempt to move all message keys outside of <select>...</select> statements
-            regsub -all -nocase {(<option\s[^>]*>[^<]*)(\x002\(\x001[^\x001]*\x001\)\x002)([^<]*</option[^>]*>)} $parsed_template {\2\1\3} parsed_template
+            regsub -all -nocase {(<option\s[^>]*>[^<]*)(\x02\(\x01[^\x01]*\x01\)\x02)([^<]*</option[^>]*>)} $parsed_template {\2\1\3} parsed_template
 
-            while { [regsub -all -nocase {(<select[^>]*>[^<]*)(\x002\(\x001[^\x001]*\x001\)\x002)} $parsed_template {\2\1} parsed_template] } {}
+            while { [regsub -all -nocase {(<select[^>]*>[^<]*)(\x02\(\x01[^\x01]*\x01\)\x02)} $parsed_template {\2\1} parsed_template] } {}
 
             set start 0
-            while { [regexp -nocase -indices -start $start {(<select[^\x002]*)(\x002\(\x001[^\x001]*\x001\)\x002)} $parsed_template indices select_idx message_idx] } {
+            while { [regexp -nocase -indices -start $start {(<select[^\x02]*)(\x02\(\x01[^\x01]*\x01\)\x02)} $parsed_template indices select_idx message_idx] } {
                 set select [string range $parsed_template [lindex $select_idx 0] [lindex $select_idx 1]]
 
                 if { [string first "</select" [string tolower $select]] != -1 } {
@@ -133,7 +133,7 @@
 
             # TODO: We could also move message keys out of <head>...</head>
 
-            while { [regexp -indices {\x002\(\x001([^\x001]*)\x001\)\x002} $parsed_template indices key] } {
+            while { [regexp -indices {\x02\(\x01([^\x01]*)\x01\)\x02} $parsed_template indices key] } {
                 set before [string range $parsed_template 0 [lindex $indices 0]-1]
                 set after [string range $parsed_template [lindex $indices 1]+1 end]
 
Index: openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl,v
diff -u -r1.57.2.9 -r1.57.2.10
--- openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl	3 Oct 2016 13:29:18 -0000	1.57.2.9
+++ openacs-4/packages/xotcl-core/tcl/30-widget-procs.tcl	14 Oct 2016 18:58:53 -0000	1.57.2.10
@@ -226,12 +226,12 @@
   # prevent such substitutions.
   #
   proc remove_escapes {text} {
-    regsub -all \x001# $text "#" text
+    regsub -all \x01# $text "#" text
     return $text
   }
   
   proc escape_message_keys {text} {
-    regsub -all {(\#[a-zA-Z0-9_:-]+\.[a-zA-Z0-9_:-]+)\#} $text "\\1\x001#" text
+    regsub -all {(\#[a-zA-Z0-9_:-]+\.[a-zA-Z0-9_:-]+)\#} $text "\\1\x01#" text
     return $text
   }
 
@@ -247,21 +247,21 @@
     if {![$obj exists __localizer]} {
       $obj set __localizer [list]
     }
-    if {[string first \x002 $text] == -1} {
+    if {[string first \x02 $text] == -1} {
       return $text
     } else {
       set return_text ""
       if {$inline} {
         # Attempt to move all message keys outside of tags
-        while { [regsub -all {(<[^>]*)(\x002\(\x001[^\x001]*\x001\)\x002)([^>]*>)} $text {\2\1\3} text] } {}
+        while { [regsub -all {(<[^>]*)(\x02\(\x01[^\x01]*\x01\)\x02)([^>]*>)} $text {\2\1\3} text] } {}
         
         # Attempt to move all message keys outside of <select>...</select> statements
-        regsub -all -nocase {(<option\s[^>]*>[^<]*)(\x002\(\x001[^\x001]*\x001\)\x002)([^<]*</option[^>]*>)} $text {\2\1\3} text
+        regsub -all -nocase {(<option\s[^>]*>[^<]*)(\x02\(\x01[^\x01]*\x01\)\x02)([^<]*</option[^>]*>)} $text {\2\1\3} text
         
-        while { [regsub -all -nocase {(<select[^>]*>[^<]*)(\x002\(\x001[^\x001]*\x001\)\x002)} $text {\2\1} text] } {}
+        while { [regsub -all -nocase {(<select[^>]*>[^<]*)(\x02\(\x01[^\x01]*\x01\)\x02)} $text {\2\1} text] } {}
       }
 
-      while {[regexp {^([^\x002]*)\x002\(\x001([^\x001]*)\x001\)\x002(.*)$} $text _ \
+      while {[regexp {^([^\x02]*)\x02\(\x01([^\x01]*)\x01\)\x02(.*)$} $text _ \
                   before key text]} {
         append return_text $before
         lassign [split $key .] package_key message_key
Index: openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl,v
diff -u -r1.327.2.25 -r1.327.2.26
--- openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl	22 Sep 2016 12:23:04 -0000	1.327.2.25
+++ openacs-4/packages/xowiki/tcl/xowiki-www-procs.tcl	14 Oct 2016 18:58:53 -0000	1.327.2.26
@@ -940,11 +940,11 @@
         #              [template::adp_variable_regexp] $form \
         #              {my form_field_as_html -mode edit "\\\1" "\2" $form_fields}]
     # Due to this bug, we program around and replace the at-character 
-    # by \x003 to avoid conflict withe the input and we replace these
+    # by \x03 to avoid conflict withe the input and we replace these
     # magic chars finally with the fields resulting from tdom.
     
     set form [my substitute_markup $form]
-    set form [string map [list @ \x003] $form]
+    set form [string map [list @ \x03] $form]
     #my msg form=$form
 
     dom parse -simple -html $form doc
@@ -1067,10 +1067,10 @@
 
     set html [$root asHTML]
     set html [my regsub_eval  \
-                  {(^|[^\\])\x003([a-zA-Z0-9_:]+)\x003} $html \
+                  {(^|[^\\])\x03([a-zA-Z0-9_:]+)\x03} $html \
                   {my form_field_as_html -mode edit "\\\1" "\2" $form_fields}]
     # replace unbalanced @ characters
-    set html [string map [list \x003 @] $html]
+    set html [string map [list \x03 @] $html]
 
     #my log "calling VIEW with HTML [string length $html]"
     if {$view} {