Switch to side-by-side view

--- a/src/common/rclconfig.cpp
+++ b/src/common/rclconfig.cpp
@@ -530,6 +530,15 @@
 	}
     }
 
+    // Extended file attribute to field translations
+    list<string>xattrs = m_fields->getNames("xattrtofields");
+    for (list<string>::const_iterator it = xattrs.begin(); 
+	 it != xattrs.end(); it++) {
+	string val;
+	m_fields->get(*it, val, "xattrtofields");
+	m_xattrtofld[*it] = val;
+    }
+
     return true;
 }
 
@@ -881,7 +890,8 @@
     m_reason = r.m_reason;
     m_confdir = r.m_confdir;
     m_datadir = r.m_datadir;
-    m_keydir = r.m_datadir;
+    m_keydir = r.m_keydir;
+    m_cdirs = r.m_cdirs;
     // We should use reference-counted objects instead!
     if (r.m_conf)
 	m_conf = new ConfStack<ConfTree>(*(r.m_conf));
@@ -891,6 +901,12 @@
 	mimeconf = new ConfStack<ConfSimple>(*(r.mimeconf));
     if (r.mimeview)
 	mimeview = new ConfStack<ConfSimple>(*(r.mimeview));
+    if (r.m_fields)
+	m_fields = new ConfStack<ConfSimple>(*(r.m_fields));
+    m_fldtopfx = r.m_fldtopfx;
+    m_aliastocanon = r.m_aliastocanon;
+    m_storedFields = r.m_storedFields;
+    m_xattrtofld = r.m_xattrtofld;
     if (r.m_stopsuffixes)
 	m_stopsuffixes = new SuffixStore(*((SuffixStore*)r.m_stopsuffixes));
     m_maxsufflen = r.m_maxsufflen;