--- new/src/eclipsehelp.cpp	2012-11-18 16:31:52.000000000 +0100
+++ new2/src/eclipsehelp.cpp	2012-11-20 18:06:48.546293000 +0100
@@ -177,17 +177,33 @@
 {
   // -- write the topic tag 
   closedTag();
-  indent();
-  m_tocstream << "<topic label=\"" << convertToXML(name) << "\"";
   if (file) 
   { 
-    m_tocstream << " href=\"" << convertToXML(m_pathprefix) 
-                << file << Doxygen::htmlFileExtension;
-    if (anchor)
+    if (file && (file[0]=='!' || file[0]=='^')) // special markers for user defined URLs
     {
-      m_tocstream << "#" << anchor;
+      if (file[0]=='^')
+      {
+        // Not supported by eclipse toc
+      }
+      else
+      {
+        indent();
+        m_tocstream << "<topic label=\"" << convertToXML(name) << "\"";
+        m_tocstream << " href=\"" << convertToXML(m_pathprefix) << &file[1] << "\"";
+      }
+    }
+    else
+    {
+      indent();
+      m_tocstream << "<topic label=\"" << convertToXML(name) << "\"";
+      m_tocstream << " href=\"" << convertToXML(m_pathprefix) 
+                  << file << Doxygen::htmlFileExtension;
+      if (anchor)
+      {
+        m_tocstream << "#" << anchor;
+      }
+      m_tocstream << "\"";
     }
-    m_tocstream << "\"";
   }
   m_endtag = TRUE;
 }
