 tcl/mk4tcl.cpp | 10 +++++++---
 tcl/mk4too.cpp |  6 +++++-
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/tcl/mk4tcl.cpp b/tcl/mk4tcl.cpp
index 049bf8e..8d2249e 100755
--- a/tcl/mk4tcl.cpp
+++ b/tcl/mk4tcl.cpp
@@ -28,6 +28,10 @@
 #define MyInitStubs(x) 1
 #endif 
 
+#if 10 * TCL_MAJOR_VERSION + TCL_MINOR_VERSION < 86
+#define Tcl_GetErrorLine(interp) (interp)->errorLine
+#endif
+
 // definition of valid property name - alpha numerics, underscore, percent,
 // or any extended utf-8 character
 #define ISNAME(c)       (isalnum((c)) || (c) == '_' || (c) == '%' || (c) & 0x80)
@@ -979,7 +983,7 @@ const c4_Property &AsProperty(Tcl_Obj *objPtr, const c4_View &view_) {
   void *tag = (&view_[0])._seq; // horrific hack to get at c4_Sequence pointer
   if (objPtr->typePtr !=  &mkPropertyType || objPtr
     ->internalRep.twoPtrValue.ptr1 != tag) {
-    Tcl_ObjType *oldTypePtr = objPtr->typePtr;
+    CONST86 Tcl_ObjType *oldTypePtr = objPtr->typePtr;
 
     char type = 'S';
 
@@ -1083,7 +1087,7 @@ int SetCursorFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr) {
   }
 
   if (objPtr->typePtr !=  &mkCursorType) {
-    Tcl_ObjType *oldTypePtr = objPtr->typePtr;
+    CONST86 Tcl_ObjType *oldTypePtr = objPtr->typePtr;
 
     const char *string = Tcl_GetStringFromObj(objPtr, 0);
 
@@ -2156,7 +2160,7 @@ int MkTcl::LoopCmd() {
         _error = TCL_OK;
       else if (_error == TCL_ERROR) {
         char msg[100];
-        sprintf(msg, "\n  (\"mk::loop\" body line %d)", interp->errorLine);
+        sprintf(msg, "\n  (\"mk::loop\" body line %d)", Tcl_GetErrorLine(interp));
         Tcl_AddObjErrorInfo(interp, msg,  - 1);
       }
       break;
diff --git a/tcl/mk4too.cpp b/tcl/mk4too.cpp
index 7c845c0..ffcbc4e 100644
--- a/tcl/mk4too.cpp
+++ b/tcl/mk4too.cpp
@@ -7,6 +7,10 @@
 #include <stdio.h>
 #include <string.h>
 
+#if 10 * TCL_MAJOR_VERSION + TCL_MINOR_VERSION < 86
+#define Tcl_GetErrorLine(interp) (interp)->errorLine
+#endif
+
 ///////////////////////////////////////////////////////////////////////////////
 // Defined in this file:
 
@@ -612,7 +616,7 @@ int MkView::LoopCmd() {
           _error = TCL_OK;
         else if (_error == TCL_ERROR) {
           char msg[100];
-          sprintf(msg, "\n  (\"mk::loop\" body line %d)", interp->errorLine);
+          sprintf(msg, "\n  (\"mk::loop\" body line %d)", Tcl_GetErrorLine(interp));
           Tcl_AddObjErrorInfo(interp, msg,  - 1);
         }
         break;
