Switch to side-by-side view

--- a/src/rcldb/expansiondbs.cpp
+++ b/src/rcldb/expansiondbs.cpp
@@ -53,40 +53,40 @@
 	    return true;
     }
 
-    // Stem dbs
-    vector<XapWritableComputableSynFamMember> stemdbs;
-    // Note: tried to make this to work with stack-allocated objects, couldn't.
-    // Looks like a bug in copy constructors somewhere, can't guess where
-    vector<std::shared_ptr<SynTermTransStem> > stemmers;
-    for (unsigned int i = 0; i < langs.size(); i++) {
-	stemmers.push_back(std::shared_ptr<SynTermTransStem>
-			   (new SynTermTransStem(langs[i])));
-	stemdbs.push_back(
-	    XapWritableComputableSynFamMember(wdb, synFamStem, langs[i], 
-					      stemmers.back().get()));
-	stemdbs.back().recreate();
-    }
-
-    // Unaccented stem dbs
-    vector<XapWritableComputableSynFamMember> unacstemdbs;
-    // We can reuse the same stemmer pointers, the objects are stateless.
-    if (!o_index_stripchars) {
-	for (unsigned int i = 0; i < langs.size(); i++) {
-	    unacstemdbs.push_back(
-		XapWritableComputableSynFamMember(wdb, synFamStemUnac, langs[i], 
-						  stemmers.back().get()));
-	    unacstemdbs.back().recreate();
-	}
-    }
-    SynTermTransUnac transunac(UNACOP_UNACFOLD);
-    XapWritableComputableSynFamMember 
-	diacasedb(wdb, synFamDiCa, "all", &transunac);
-    if (!o_index_stripchars)
-	diacasedb.recreate();
-
     // Walk the list of all terms, and stem/unac each.
     string ermsg;
     try {
+	// Stem dbs
+	vector<XapWritableComputableSynFamMember> stemdbs;
+	// Note: tried to make this to work with stack-allocated objects, couldn't.
+	// Looks like a bug in copy constructors somewhere, can't guess where
+	vector<std::shared_ptr<SynTermTransStem> > stemmers;
+	for (unsigned int i = 0; i < langs.size(); i++) {
+	    stemmers.push_back(std::shared_ptr<SynTermTransStem>
+			       (new SynTermTransStem(langs[i])));
+	    stemdbs.push_back(
+		XapWritableComputableSynFamMember(wdb, synFamStem, langs[i], 
+						  stemmers.back().get()));
+	    stemdbs.back().recreate();
+	}
+
+	// Unaccented stem dbs
+	vector<XapWritableComputableSynFamMember> unacstemdbs;
+	// We can reuse the same stemmer pointers, the objects are stateless.
+	if (!o_index_stripchars) {
+	    for (unsigned int i = 0; i < langs.size(); i++) {
+		unacstemdbs.push_back(
+		    XapWritableComputableSynFamMember(wdb, synFamStemUnac, langs[i], 
+						      stemmers.back().get()));
+		unacstemdbs.back().recreate();
+	    }
+	}
+	SynTermTransUnac transunac(UNACOP_UNACFOLD);
+	XapWritableComputableSynFamMember 
+	    diacasedb(wdb, synFamDiCa, "all", &transunac);
+	if (!o_index_stripchars)
+	    diacasedb.recreate();
+
 	Xapian::TermIterator it = wdb.allterms_begin();
 	// We'd want to skip to the first non-prefixed term, but this is a bit
 	// complicated, so we just jump over most of the prefixed term and then