Index: tmp/org.txm.core/src/java/org/txm/Toolbox.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/Toolbox.java	(revision 1724)
+++ tmp/org.txm.core/src/java/org/txm/Toolbox.java	(revision 1725)
@@ -82,7 +82,7 @@
 
 	public static final DateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd");
 	public static final DateFormat shortUKDateformat = new SimpleDateFormat("dd-MM-yy");
-	
+
 	private static LinkedHashMap<EngineType, EnginesManager<?>> enginesManagers = new LinkedHashMap<EngineType, EnginesManager<?>>();
 
 	private static boolean initializing = false;
@@ -90,10 +90,10 @@
 	/** The state. */
 	private static boolean state = false;
 
-	
 
-	
-	
+
+
+
 	public static Workspace workspace;
 
 	/**
@@ -131,7 +131,7 @@
 				addEngineManager(enginesManager);
 				if (enginesManager.fetchEngines()) {
 					//System.out.println("add engine: "+engine);
-					
+
 				}
 				else {
 					Log.severe("No engine found for " + enginesManager + ", installation failed.");
@@ -245,18 +245,18 @@
 		}
 
 		if (monitor != null && monitor.isCanceled()) return false;
-		
+
 		try {
 			// initialize workspace : list of corpus loaded in TXM
 			// copy shared files if needed
 			state = startWorkspace(monitor);
 			if (monitor != null && monitor.isCanceled()) return false;
-			
+
 			Log.fine("Initializing logger...");
 			Log.setLevel(Level.parse(getPreference(TBXPreferences.LOG_LEVEL)));
 			Log.setPrintInConsole(TBXPreferences.getInstance().getBoolean(TBXPreferences.ADD_TECH_LOGS));
 			Log.log_stacktrace_boolean = TBXPreferences.getInstance().getBoolean(TBXPreferences.LOG_STACKTRACE);
-			
+
 			if (!getPreference(TBXPreferences.LOG_DIR).isEmpty()) {
 				Log.setPrintInFile(TBXPreferences.getInstance().getBoolean(TBXPreferences.LOG_IN_FILE), new File(getPreference(TBXPreferences.LOG_DIR)));
 			} else {
@@ -476,21 +476,21 @@
 		return checkState();
 	}
 
-//	/**
-//	 * Restart the toolbox's workspace.
-//	 *
-//	 * @return true, if successful
-//	 */
-//	public static boolean restartWorkspace(IProgressMonitor monitor) {
-//		try {
-//			shutdownWorkspace();
-//			startWorkspace(monitor);
-//		} catch (Exception e) {
-//			Log.severe("Error while restarting workspace.");
-//			e.printStackTrace();
-//		}
-//		return checkState();
-//	}
+	//	/**
+	//	 * Restart the toolbox's workspace.
+	//	 *
+	//	 * @return true, if successful
+	//	 */
+	//	public static boolean restartWorkspace(IProgressMonitor monitor) {
+	//		try {
+	//			shutdownWorkspace();
+	//			startWorkspace(monitor);
+	//		} catch (Exception e) {
+	//			Log.severe("Error while restarting workspace.");
+	//			e.printStackTrace();
+	//		}
+	//		return checkState();
+	//	}
 
 	/**
 	 * Shut the toolbox down.
@@ -509,7 +509,7 @@
 			// FIXME: other tmp solution
 			TXMResult.deleteAllNonPersistentResults();
 
-			
+
 			// save projects parameters
 			if (Toolbox.workspace != null) {
 				Toolbox.workspace.saveParameters(true);
@@ -525,19 +525,19 @@
 		}
 	}
 
-//	/**
-//	 * Shut the toolbox workspace down.
-//	 */
-//	public static void shutdownWorkspace() {
-//		try {
-//			Toolbox.workspace.saveParameters();
-//			Toolbox.workspace = null;
-//			state = false;
-//		} catch (Exception e) {
-//			Log.severe("Error while closing workspace.");
-//			e.printStackTrace();
-//		}
-//	}
+	//	/**
+	//	 * Shut the toolbox workspace down.
+	//	 */
+	//	public static void shutdownWorkspace() {
+	//		try {
+	//			Toolbox.workspace.saveParameters();
+	//			Toolbox.workspace = null;
+	//			state = false;
+	//		} catch (Exception e) {
+	//			Log.severe("Error while closing workspace.");
+	//			e.printStackTrace();
+	//		}
+	//	}
 
 	public static boolean startEnginesManagers(IProgressMonitor monitor) {
 
@@ -642,6 +642,22 @@
 				return false;
 			} else {
 				//System.out.println(TXMCoreMessages.DONE);
+
+				// updating extension files
+				IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(PostTXMHOMEInstallationStep.EXTENSION_ID);
+				//System.out.println("contributions: "+Arrays.toString(contributions));
+				for (int i = 0; i < contributions.length; i++) {
+					try {
+						Log.fine(TXMCoreMessages.bind("Registering engine: {0}...", contributions[i].getName()));
+						PostTXMHOMEInstallationStep extp = (PostTXMHOMEInstallationStep)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
+
+						if (!extp.install(workspace)) {
+							Log.severe("Fail to install "+extp.getName()+" files in "+workspace.getLocation());
+						}
+					} catch(CoreException e) {
+						e.printStackTrace();
+					} 
+				}
 			}
 		} catch (Exception e) {
 			Log.severe(NLS.bind(TXMCoreMessages.errorDuringWorkspaceInitializationColonP0, workspaceFile)); 
@@ -694,7 +710,7 @@
 	public static String getInstallDirectory() {
 		return getPreference(TBXPreferences.INSTALL_DIR);
 	}
-	
+
 	/**
 	 * Creates&Update workspace directory.
 	 * 
@@ -706,7 +722,7 @@
 	public static Workspace createOrUpdate(File txmhomedir) {
 		//TODO replace this old directory&file with the ".project" Eclipse project configuration file
 		File workspaceDirectory = new File(txmhomedir, "corpora");
-//		File xmlfile = new File(workspaceDirectory, "default.xml");
+		//		File xmlfile = new File(workspaceDirectory, "default.xml");
 
 		try {
 			txmhomedir.mkdirs();
@@ -730,11 +746,11 @@
 				new File(txmhomedir, folder).mkdir();
 			}
 
-//			if (!xmlfile.exists()) {
-//				if (!writeEmptyWorkspaceFile(xmlfile)) {
-//					System.out.println("Error while creating workspace definition file: "+xmlfile);
-//				}
-//			}
+			//			if (!xmlfile.exists()) {
+			//				if (!writeEmptyWorkspaceFile(xmlfile)) {
+			//					System.out.println("Error while creating workspace definition file: "+xmlfile);
+			//				}
+			//			}
 
 			String path = Toolbox.getPreference(TBXPreferences.INSTALL_DIR);
 			File installDirectory = new File(path);
@@ -757,20 +773,6 @@
 
 			Workspace workspace = Workspace.getInstance();
 
-			IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(PostTXMHOMEInstallationStep.EXTENSION_ID);
-			//System.out.println("contributions: "+Arrays.toString(contributions));
-			for (int i = 0; i < contributions.length; i++) {
-				try {
-					Log.fine(TXMCoreMessages.bind("Registering engine: {0}...", contributions[i].getName()));
-					PostTXMHOMEInstallationStep extp = (PostTXMHOMEInstallationStep)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
-					if (!extp.install(workspace)) {
-						Log.severe("Fail to install "+extp.getName()+" files in "+workspace.getLocation());
-					}
-				} catch(CoreException e) {
-					e.printStackTrace();
-				} 
-			}
-
 			return workspace;
 		} catch (Exception e) {
 			Log.severe(NLS.bind(TXMCoreMessages.failedToCopyTXMFilesFromTXMINSTALLDIRToTXMHOMEColonP0, e.getLocalizedMessage()));
Index: tmp/org.txm.core/src/java/org/txm/utils/BundleUtils.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/utils/BundleUtils.java	(revision 1724)
+++ tmp/org.txm.core/src/java/org/txm/utils/BundleUtils.java	(revision 1725)
@@ -6,6 +6,7 @@
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Platform;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.Version;
 import org.osgi.framework.wiring.BundleWiring;
 import org.txm.Toolbox;
@@ -32,6 +33,14 @@
 		return bundle.getVersion();
 	}
 	
+	public static Bundle getBundle(Class clazz) {
+		return FrameworkUtil.getBundle(clazz);
+	}
+	
+	public static String getBundleId(Class clazz) {
+		return getBundle(clazz).getSymbolicName();
+	}
+	
 	/**
 	 * 
 	 * @param bundle_id the Bundle ID
Index: tmp/org.txm.core/src/java/org/txm/importer/ApplyXsl2.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/importer/ApplyXsl2.java	(revision 1724)
+++ tmp/org.txm.core/src/java/org/txm/importer/ApplyXsl2.java	(revision 1725)
@@ -308,17 +308,17 @@
 			w.write(strWriter.toString());
 			w.close();
 			
-			if (debug && inputfile_copy != null) {
-				//FIXME: old version
-				//File inputfile_copy = new File("/tmp", xmlinfile.getName());
-				
-				String s = Diff.diffFile(inputfile_copy, xmloutfile);
-				if (s.length() > 0) { // for ultra debug?
-					System.out.println("Result "+xmlinfile.getName()+" VS "+ xmloutfile.getName()+" diff="+s);
-				} else {
-					System.out.println("Warning: no diff between "+inputfile_copy+" and "+ xmloutfile);
-				}
-			}
+//			if (debug && inputfile_copy != null) {
+//				//FIXME: old version
+//				//File inputfile_copy = new File("/tmp", xmlinfile.getName());
+//				
+//				String s = Diff.diffFile(inputfile_copy, xmloutfile);
+//				if (s.length() > 0) { // for ultra debug?
+//					System.out.println("Result "+xmlinfile.getName()+" VS "+ xmloutfile.getName()+" diff="+s);
+//				} else {
+//					System.out.println("Warning: no diff between "+inputfile_copy+" and "+ xmloutfile);
+//				}
+//			}
 		}
 
 		cleanMemory();
Index: tmp/org.txm.core/src/java/org/txm/PostTXMHOMEInstallationStep.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/PostTXMHOMEInstallationStep.java	(revision 1724)
+++ tmp/org.txm.core/src/java/org/txm/PostTXMHOMEInstallationStep.java	(revision 1725)
@@ -1,6 +1,12 @@
 package org.txm;
 
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.Version;
+import org.txm.core.messages.TXMCoreMessages;
+import org.txm.core.preferences.TBXPreferences;
 import org.txm.objects.Workspace;
+import org.txm.utils.BundleUtils;
+import org.txm.utils.logger.Log;
 
 /**
  * Called by the Toolbox when a plugin needs to install things in a newly created/updated TXM user directory
@@ -16,11 +22,41 @@
 	 * called after the Core has created its files
 	 * @return true if success, false if installation failed
 	 */
-	public abstract boolean install(Workspace workspace);
+	public final boolean install(Workspace workspace) {
+		String bundle_id = FrameworkUtil.getBundle(getClass()).getSymbolicName(); 
+		Version extcurrentVersion = BundleUtils.getBundleVersion(bundle_id);
+		String extinstalledVersionString = Toolbox.getPreference(getName());
+		if (extinstalledVersionString.isEmpty()) {
+			extinstalledVersionString = "0.0.0";
+		}
+		Version extinstalledVersion = new Version(extinstalledVersionString);
+		Log.fine(TXMCoreMessages.bind("{0} nstalled version: {1}.", getName(), extinstalledVersion));
+		//System.out.println("Toolbox.startWorkspace(): workspace location = " + location);
+		boolean extDoUpdateworkspace = extcurrentVersion.compareTo(extinstalledVersion) > 0;
+		if (needsReinstall(workspace) || extDoUpdateworkspace) {
+			return do_install(workspace);
+		}
+		return true;
+	};
 	
 	/**
+	 * copy files etc.
 	 * 
-	 * @return user friendly extension point name
+	 * @param workspace
+	 * @return
 	 */
+	public abstract boolean do_install(Workspace workspace);
+	
+	/**
+	 * Allow an extension to test if the needed files are installed
+	 * @param workspace
+	 * @return true if the extension needs to reinstall itself
+	 */
+	public abstract boolean needsReinstall(Workspace workspace);
+	
+	/**
+	 * 
+	 * @return extension unique name
+	 */
 	public abstract String getName();
 }
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/InstallURSFiles.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/InstallURSFiles.java	(revision 1724)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/InstallURSFiles.java	(revision 1725)
@@ -16,13 +16,13 @@
  */
 public class InstallURSFiles extends PostTXMHOMEInstallationStep {
 
+	final static String createfolders[] = { "scripts/groovy/user" }; //$NON-NLS-1$
+	
 	@Override
-	public boolean install(Workspace workspace) {
+	public boolean do_install(Workspace workspace) {
 
 		File txmhomedir = new File(Toolbox.getTxmHomePath());
 
-		String createfolders[] = { "scripts/groovy/user" }; //$NON-NLS-1$
-
 		for (String folder : createfolders) {
 			new File(txmhomedir, folder).mkdirs();
 		}
@@ -41,4 +41,15 @@
 	public String getName() {
 		return "URS Annotation";
 	}
+	
+	@Override
+	public boolean needsReinstall(Workspace workspace) {
+		File txmhomedir = new File(Toolbox.getTxmHomePath());
+		for (String folder : createfolders) {
+			if (!new File(txmhomedir, folder).exists()) {
+				return true;
+			}
+		}
+		return false;
+	}
 }
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/edit/ConcordanceToUnitMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/edit/ConcordanceToUnitMacro.groovy	(revision 1724)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/edit/ConcordanceToUnitMacro.groovy	(revision 1725)
@@ -79,15 +79,16 @@
 // browse lines and check
 def units = analecCorpus.getUnites(unit_type)
 def lines = concordance.getLines()
-int iUnit = 0
+
 int n = 0
 for (int iLine = 0 ; iLine < lines.size() ; iLine++) {
 	def line = lines[iLine]
 	def m = line.getMatch()
 	if (create_only_if_new && iUnit < units.size()) { // test only if create_only_if_new == true
 		def unit = null
-		while (iUnit < units.size() && units[iUnit].getDeb() < m.getStart()) {
-
+		//TODO don't iterates over
+		int iUnit = 0
+		while (iUnit < units.size() ) { //&& units[iUnit].getDeb() < m.getStart()) {
 			if (iUnit < units.size()) {
 				unit = units[iUnit++]
 				if (unit.getDeb() == m.getStart() && unit.getFin() == m.getEnd()) { // skip and print the line
Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/InstallRUserPart.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/InstallRUserPart.java	(revision 1724)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/InstallRUserPart.java	(revision 1725)
@@ -10,7 +10,7 @@
 public class InstallRUserPart extends PostTXMHOMEInstallationStep {
 
 	@Override
-	public boolean install(Workspace workspace) {
+	public boolean do_install(Workspace workspace) {
 		File txmhomedir = new File(Toolbox.getTxmHomePath());
 		File dir = new File(txmhomedir, "R/libraries");
 		dir.mkdirs();
@@ -26,4 +26,11 @@
 	public String getName() {
 		return "R (org.txm.statengine.r.core)";
 	}
+	
+	@Override
+	public boolean needsReinstall(Workspace workspace) {
+		File txmhomedir = new File(Toolbox.getTxmHomePath());
+		File dir = new File(txmhomedir, "R/libraries");
+		return !dir.exists();
+	}
 }
Index: tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/AHCCoreMessages.java
===================================================================
--- tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/AHCCoreMessages.java	(revision 1724)
+++ tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/AHCCoreMessages.java	(revision 1725)
@@ -24,7 +24,6 @@
 
 	public static String computingAHC;
 	
-	
 	static {
 		Utf8NLS.initializeMessages(BUNDLE_NAME, AHCCoreMessages.class);
 	}
Index: tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/rcp/InstallGroovyTIGERFiles.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/rcp/InstallGroovyTIGERFiles.java	(revision 1724)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/rcp/InstallGroovyTIGERFiles.java	(revision 1725)
@@ -9,11 +9,12 @@
 
 public class InstallGroovyTIGERFiles extends PostTXMHOMEInstallationStep {
 
+	final static String createfolders[] = {"scripts/groovy/lib", "scripts/groovy/user", "scripts/groovy/system"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+	
 	@Override
-	public boolean install(Workspace workspace) {
+	public boolean do_install(Workspace workspace) {
 		File txmhomedir = new File(Toolbox.getTxmHomePath());
 		
-		String createfolders[] = {"scripts/groovy/lib", "scripts/groovy/user", "scripts/groovy/system"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		
 		for (String folder : createfolders) {
 			new File(txmhomedir, folder).mkdirs();
@@ -37,4 +38,15 @@
 	public String getName() {
 		return "TIGERSearch (org.txm.tigersearch.rcp)";
 	}
+	
+	@Override
+	public boolean needsReinstall(Workspace workspace) {
+		File txmhomedir = new File(Toolbox.getTxmHomePath());
+		for (String folder : createfolders) {
+			if (!new File(txmhomedir, folder).exists()) {
+				return true;
+			}
+		}
+		return false;
+	}
 }
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/MemCqiClient.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/MemCqiClient.java	(revision 1724)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/MemCqiClient.java	(revision 1725)
@@ -56,7 +56,7 @@
 	}
 
 	public byte[] throwExceptionFromCqi(int error) throws CqiServerError, UnexpectedAnswerException, IOException {
-		return throwExceptionFromCqi("CQi", error);
+		return throwExceptionFromCqi("", error);
 	}
 
 	public byte[] throwExceptionFromCqi(String message, int error) throws CqiServerError, UnexpectedAnswerException, IOException {
Index: tmp/org.txm.groovy.core/src/java/org/txm/groovy/core/InstallGroovyFiles.java
===================================================================
--- tmp/org.txm.groovy.core/src/java/org/txm/groovy/core/InstallGroovyFiles.java	(revision 1724)
+++ tmp/org.txm.groovy.core/src/java/org/txm/groovy/core/InstallGroovyFiles.java	(revision 1725)
@@ -17,11 +17,12 @@
  */
 public class InstallGroovyFiles extends PostTXMHOMEInstallationStep {
 
+	final static String createfolders[] = {"scripts/groovy/lib", "scripts/groovy/user", "scripts/groovy/system"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+	
 	@Override
-	public boolean install(Workspace workspace) {
+	public boolean do_install(Workspace workspace) {
 		File txmhomedir = new File(Toolbox.getTxmHomePath());
 		
-		String createfolders[] = {"scripts/groovy/lib", "scripts/groovy/user", "scripts/groovy/system"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		
 		for (String folder : createfolders) {
 			new File(txmhomedir, folder).mkdirs();
@@ -90,4 +91,15 @@
 	public String getName() {
 		return "Groovy (org.txm.groovy.core)";
 	}
+
+	@Override
+	public boolean needsReinstall(Workspace workspace) {
+		File txmhomedir = new File(Toolbox.getTxmHomePath());
+		for (String folder : createfolders) {
+			if (!new File(txmhomedir, folder).exists()) {
+				return true;
+			}
+		}
+		return false;
+	}
 }
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZImporter.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZImporter.groovy	(revision 1724)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZImporter.groovy	(revision 1725)
@@ -343,7 +343,7 @@
 		}
 
 		//if (wordTag != "w") {
-		if (doTokenizeStep) {
+		if (!doTokenizeStep) {
 			println "No tokenization do to."
 			// ConsoleProgressBar cpb = new ConsoleProgressBar(filesToProcess.size())
 			for (File f : filesToProcess) {
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZCompilerStep.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZCompilerStep.groovy	(revision 1724)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZCompilerStep.groovy	(revision 1725)
@@ -123,7 +123,7 @@
 		boolean stopAtFirstSort = true;
 		boolean foundtei = false;
 		boolean foundtext = false;
-
+		int nWords = 0;
 		try {
 			String localname;
 			for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next())
@@ -158,6 +158,7 @@
 								}
 								anavalues = [:];
 								flagWord = true
+								nWords++
 								break;
 							case FORM:
 								flagForm = true;
@@ -273,6 +274,9 @@
 			if (inputData != null) inputData.close();
 			return false;
 		}
-		return true;
+		if (nWords == 0) {
+			println "** no words written."
+		}
+		return nWords > 0;
 	}
 }
\ No newline at end of file
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZCompiler.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZCompiler.groovy	(revision 1724)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZCompiler.groovy	(revision 1725)
@@ -223,10 +223,13 @@
 				return false;
 			}
 						
-			cwbEn.run(outputDirectory.getAbsolutePath() + "/$corpusname",
+			if (!cwbEn.run(outputDirectory.getAbsolutePath() + "/$corpusname",
 					allcqpFile.getAbsolutePath(),
-					regPath, pAttributes, sAttributes, false);
-				
+					regPath, pAttributes, sAttributes, false)) {
+				println "** cwb-encode did not ends well. Activate finer logs to see details."
+				return false;
+			}
+			
 			allcqpFile.delete(); // clean
 		} catch (Exception e) {
 			println "Error while running cwb-encode: "+e
@@ -248,7 +251,10 @@
 				println "Error: The registry file was not created: $regPath. See https://groupes.renater.fr/wiki/txm-users/public/faq"
 				return false;
 			}
-			cwbMa.run(corpusname, new File(regPath).getParent());
+			if (!cwbMa.run(corpusname, new File(regPath).getParent())) {
+				println "** cwb-makeall did not ends well. Activate finer logs to see details."
+				return false;
+			}
 			
 			// remove milestones from CWB registry and data files
 			FixMilestoneDeclarations fm = new FixMilestoneDeclarations(
