Index: tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1857)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1858)
@@ -271,8 +271,8 @@
 	private Label queryLabel;
 
 	private Composite navigationArea;
-	
-	
+
+
 	/** The query widget. */
 	@Parameter(key=ConcordancePreferences.QUERY)
 	protected AssistedQueryWidget queryWidget;
@@ -299,11 +299,11 @@
 	private Spinner rightSizeSpinner;
 
 	//	private PropertiesSelector<Property> propsArea;
-	
-	
-	
-	
-	
+
+
+
+
+
 	@Override
 	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
 		super.init(site, input);
@@ -603,11 +603,17 @@
 
 		// back to text mouse listener
 		MouseListener ms = new MouseListener() {
+			int c = 0;
 			@Override
-			public void mouseDoubleClick(MouseEvent e) {
-				StatusLine.setMessage(ConcordanceUIMessages.openingCorpusEdition);
-				backToText();
-				StatusLine.setMessage(""); //$NON-NLS-1$
+			public synchronized void mouseDoubleClick(MouseEvent e) {
+				if (e.count == 2 && c == 0) {
+					c++;
+					
+					StatusLine.setMessage(ConcordanceUIMessages.openingCorpusEdition);
+					backToText();
+					StatusLine.setMessage(""); //$NON-NLS-1$
+					c--;
+				}
 			}
 
 			@Override
@@ -702,7 +708,7 @@
 		data3.left = new FormAttachment(sash,0);
 		data3.right = new FormAttachment(100);
 		viewer.getTable().setLayoutData(data3);
-		
+
 		createContextMenu();
 	}
 
@@ -847,12 +853,12 @@
 	 * @param controlArea the control area
 	 */
 	private void composeControlArea(final Composite controlArea) {
-		
-		
+
+
 		// Computing listeners
 		ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
 
-		
+
 		GridLayout controlLayout = new GridLayout(1, false);
 		controlLayout.verticalSpacing = 0;
 		controlLayout.marginWidth = 0;
@@ -892,7 +898,7 @@
 		queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
 		queryWidget.addKeyListener(computeKeyListener);
 		queryWidget.getQueryWidget().addModifyListener(computeKeyListener);
-		
+
 		// FIXME: SJ: for computing when changing the query from history combo box
 		// FIXME: SJ: commented because it doesn't work, the computing is launched as soon as we click on the arrow of the combo box
 		//queryWidget.getQueryWidget().addSelectionListener(new ComputeSelectionListener(this));
@@ -1220,7 +1226,7 @@
 		StatusLine.setMessage(ConcordanceUIMessages.startComputingConcordance);
 
 		try {
-						
+
 			QueriesView.refresh();
 
 			this.fillDisplayArea();
@@ -1438,7 +1444,7 @@
 	public int getPointedColumn() {
 		Point p = getMousePosition();
 		if (p == null) return 0;
-		
+
 		int x = p.x; // + lineTableViewer.getTable().get;
 		int sumWidthColumn = 0;
 
@@ -1450,11 +1456,11 @@
 		if (x < sumWidthColumn)
 			return 2;
 
-//		sumWidthColumn += this.rightContextColumn.getWidth();
-//		if (x < sumWidthColumn)
-			return 3; // last column
+		//		sumWidthColumn += this.rightContextColumn.getWidth();
+		//		if (x < sumWidthColumn)
+		return 3; // last column
 
-//		return 0;
+		//		return 0;
 	}
 
 	/**
@@ -1928,7 +1934,7 @@
 
 		StructuredSelection select = (StructuredSelection) viewer.getSelection();
 		if (select == null) return false;
-		
+
 		Line line = (Line) select.getFirstElement();
 		if (line == null) return false;
 
@@ -2052,8 +2058,8 @@
 	public void updateResultFromEditor() {
 		// TODO
 	}
-	
-	
+
+
 	/**
 	 * Sets the standard comparators.
 	 */
Index: tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/commands/SaveAnnotations.java
===================================================================
--- tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/commands/SaveAnnotations.java	(revision 1857)
+++ tmp/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/commands/SaveAnnotations.java	(revision 1858)
@@ -78,7 +78,10 @@
 				}
 			}
 		});
-
+		if (doit[0] == false) {
+			return null;
+		}
+		
 		JobHandler jobhandler = new JobHandler("Saving annotations of "+corpus) { //$NON-NLS-1$
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
Index: tmp/org.txm.annotation.kr.rcp/OSGI-INF/l10n/bundle_fr.properties
===================================================================
--- tmp/org.txm.annotation.kr.rcp/OSGI-INF/l10n/bundle_fr.properties	(revision 1857)
+++ tmp/org.txm.annotation.kr.rcp/OSGI-INF/l10n/bundle_fr.properties	(revision 1858)
@@ -1,7 +1,7 @@
 #TXM OSGI messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 command.label=Entrepôt de connaissances
-command.label.0=Exporter annotations
+command.label.0=Annotations au format XML-TEI...
 command.name=Recoder
 command.name.0=Enregistrer les annotations
 command.name.1=Ouvrir la vue d'entrepôts de connaissance
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/transcriber/compiler.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/transcriber/compiler.groovy	(revision 1857)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/transcriber/compiler.groovy	(revision 1858)
@@ -131,7 +131,6 @@
 
 		sectionAttrs = new HashSet<String>() // reset section attributs set
 
-		Project project = module.getProject();
 		CorpusBuild corpus = project.getCorpusBuild(project.getName(), MainCorpus.class);
 		if (corpus != null) {
 			if (project.getDoUpdate()) {
Index: tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/EditionPanel.java
===================================================================
--- tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/EditionPanel.java	(revision 1857)
+++ tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/editors/EditionPanel.java	(revision 1858)
@@ -268,7 +268,7 @@
 				Object rez = evaluate("return typeof sheet"); //$NON-NLS-1$
 				if ("undefined".equals(rez)) {
 					if (!execute(functions)) { // build the sheet if not present in the HTML DOM //$NON-NLS-1$
-						Log.warning("JS execution (init) error with="+functions);
+						Log.fine("JS execution (init) error with="+functions);
 					}
 				}
 				
@@ -288,7 +288,7 @@
 
 				if (buffer.length() > 0) {
 					if (!execute(buffer.toString())) {
-						Log.warning("JS execution error (delete cssRules) with="+buffer);
+						Log.fine("JS execution error (delete cssRules) with="+buffer);
 					}
 				}
 				buffer = new StringBuilder();
@@ -296,12 +296,24 @@
 				String firstWord = currentPage.getWordId();
 				Page nextPage = currentEdition.getNextPage(currentPage);
 				String lastWord = "w_999999999"; //$NON-NLS-1$
-				if (nextPage != null && currentPage != nextPage) lastWord = nextPage.getWordId();
+				while (nextPage != null && currentPage != nextPage) {
+					lastWord = nextPage.getWordId();
+					if (!("w_0".equals(lastWord))) { // this is a word id 
+						break; // ok 
+					}
+					Page p = currentEdition.getNextPage(nextPage);
+					if (p == nextPage) { // end of pages
+						lastWord = "w_999999999";
+						break;
+					}
+					nextPage = p;
+				}
 				//System.out.println("firstWord="+firstWord+" lastWord="+lastWord);
 				//int n = 0;
 				//long start = System.currentTimeMillis();
-				//System.out.println(highlightedColorPerWordIDS);
+				
 				for (String wordid : highlightedColorPerWordIDS.keySet()) {
+					//Log.finest("words to highlight: "+highlightedColorPerWordIDS);
 					if (highlightedColorPerWordIDS.get(wordid).size() == 0) continue; // error
 
 					//if (!slowWordHighLight) { //TODO: this code must be replaced with word position instead of word id comparaison
@@ -344,7 +356,7 @@
 
 				if (buffer.length() > 0) {
 					if (!execute(buffer.toString())) {
-						Log.warning("JS execution (highlight) error with="+buffer);
+						Log.fine("JS execution (highlight) error with="+buffer);
 					}
 				}
 				buffer = new StringBuilder();
@@ -390,7 +402,7 @@
 
 				if (buffer.length() > 0) {
 					if (!execute(buffer.toString())) {
-						Log.warning("JS execution (color) error with="+buffer);
+						Log.fine("JS execution (color) error with="+buffer);
 					}
 				}
 				buffer = new StringBuilder();
@@ -432,7 +444,7 @@
 
 				if (buffer.length() > 0) {
 					if (!execute(buffer.toString())) {
-						Log.warning("JS execution (font) error with="+buffer);
+						Log.fine("JS execution (font) error with="+buffer);
 					}
 				}
 				buffer = new StringBuilder();
@@ -447,7 +459,7 @@
 					if (execute(buffer.toString())) {
 						focusedWordID = null; // focus one time
 					} else {
-						Log.warning("JS execution (focus) error with="+buffer);
+						Log.fine("JS execution (focus) error with="+buffer);
 					}
 				}
 				buffer = new StringBuilder();
@@ -464,7 +476,7 @@
 				//System.out.println(buffer);
 				if (buffer.length() > 0) {
 					if (!execute(buffer.toString())) {
-						Log.warning("JS execution (area focus) error with="+buffer);
+						Log.fine("JS execution (area focus) error with="+buffer);
 					}
 				}
 				//System.out.println("n="+n+" time="+(System.currentTimeMillis()-start));
Index: tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/handlers/BackToText.java
===================================================================
--- tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/handlers/BackToText.java	(revision 1857)
+++ tmp/org.txm.edition.rcp/src/org/txm/edition/rcp/handlers/BackToText.java	(revision 1858)
@@ -333,7 +333,7 @@
 
 			// reload the page and styles
 			attachedBrowserEditor.backToText(text, line_wordid);// open the page(S) containing the word with id=line_wordid
-			attachedBrowserEditor.updateWordStyles(); // update styles if any new one
+
 			IWorkbenchPage attachedPage = attachedBrowserEditor.getEditorSite().getPage();
 			attachedPage.activate(attachedBrowserEditor);
 
Index: tmp/org.txm.core/src/java/org/txm/core/preferences/TBXPreferences.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/preferences/TBXPreferences.java	(revision 1857)
+++ tmp/org.txm.core/src/java/org/txm/core/preferences/TBXPreferences.java	(revision 1858)
@@ -2,15 +2,19 @@
 
 import java.util.Locale;
 
+import org.eclipse.core.runtime.Status;
 import org.osgi.service.prefs.Preferences;
 import org.txm.Toolbox;
+import org.txm.core.engines.Engine;
+import org.txm.core.engines.EngineType;
+import org.txm.utils.logger.Log;
 
 public class TBXPreferences extends TXMPreferences {
-	
+
 	public static String VERSION = "version";
 
 	public static final String FETCH_UPDATES_AT_STARTUP = "fetch_updates_at_startup";
-	
+
 	/** The Constants for Toolbox properties. */
 	public static final String LOG_LEVEL = "log_level"; //$NON-NLS-1$
 	public static final String ADD_TECH_LOGS = "log_in_console"; //$NON-NLS-1$
@@ -38,11 +42,11 @@
 	public static final String METADATA_ENCODING = "metadata_encoding"; //$NON-NLS-1$
 	public static final String METADATA_COLSEPARATOR = "metadata_colseparator"; //$NON-NLS-1$
 	public static final String METADATA_TXTSEPARATOR = "metadata_txtseparator"; //$NON-NLS-1$
-	
+
 	public static final String EMPTY_PROPERTY_VALUE_CODE = "empty_property_value_code";
-	
+
 	public static final String IMPORT_DEFAULT_LANG = "import_default_lang";
-	
+
 	/** The Constant EXPORT_SHOW. */
 	public static final String EXPORT_SHOW = "export_show"; //$NON-NLS-1$
 	/** The Constant EXPORT_ENCODING. */
@@ -57,14 +61,14 @@
 	public static final String EDITION_DEFINITION_WORDS_PER_PAGE = "edition_definition_words_per_page"; //$NON-NLS-1$
 	public static final String EDITION_DEFINITION_PAGE_BREAK_ELEMENT = "edition_definition_page_break_element"; //$NON-NLS-1$
 	public static final String EDITION_DEFINITION_IMAGES_DIRECTORY = "edition_definition_images_directory"; //$NON-NLS-1$
-	
+
 	/**
 	 * To show or not all nodes in some views, eg. in CorporaView tree.
 	 */
 	public static final String SHOW_ALL_RESULT_NODES = "show_all_result_nodes"; //$NON-NLS-1$
 	public static final String UPDATESITE = "update_site"; //$NON-NLS-1$
-	
-	
+
+
 	/**
 	 * To enable/disable the results persistence (save after a computing and load at Toolbox start).
 	 */
@@ -111,14 +115,14 @@
 	public static final String CLEAN = "clean.directories";
 	public static final String TTMODEL = "annotate.model";
 	public static final String TTANNOTATE = "annotate.run";
-	
+
 	public static final String MULTITHREAD = "multithread";
 	public static final String DEBUG = "debug";
 	public static final String UPDATECORPUS = "corpus.update";
-	
+
 	public static final String NORMALISEANAVALUES = "normalize.ana.values";
 	public static final String NORMALISEATTRIBUTEVALUES = "normalize.attribute.values";
-	
+
 	/**
 	 * Gets the instance.
 	 * @return the instance
@@ -130,46 +134,46 @@
 		return TXMPreferences.instances.get(TBXPreferences.class);
 	}
 
-	
+
 	@Override
 	public void initializeDefaultPreferences() {
 		super.initializeDefaultPreferences();
 		Preferences preferences = this.getDefaultPreferencesNode();
-		
-//		//FIXME: USE osgi.instance.area later & done in ApplicationWorkbenchAdvisor
-//		preferences.put(TBXPreferences.USER_TXM_HOME, System.getProperty("user.home")+"/TXM");
-	//	preferences.put(TBXPreferences.USER_TXM_HOME, System.getProperty("user.home")); //$NON-NLS-1$
-		
+
+		//		//FIXME: USE osgi.instance.area later & done in ApplicationWorkbenchAdvisor
+		//		preferences.put(TBXPreferences.USER_TXM_HOME, System.getProperty("user.home")+"/TXM");
+		//	preferences.put(TBXPreferences.USER_TXM_HOME, System.getProperty("user.home")); //$NON-NLS-1$
+
 		preferences.putBoolean(TBXPreferences.EXPERT_USER, false);
 		preferences.putBoolean(TBXPreferences.VISIBLE, true);
-		
+
 		// FIXME
 		preferences.putBoolean(TBXPreferences.ADD_TECH_LOGS, true);
 		preferences.putBoolean(TBXPreferences.LOG_STACKTRACE, true);
 		preferences.putBoolean(TBXPreferences.LOG_IN_FILE, false);
 		preferences.put(TBXPreferences.LOG_LEVEL, "INFO"); //$NON-NLS-1$
-		
+
 		preferences.put(TBXPreferences.IMPORT_DEFAULT_LANG, Locale.getDefault().getLanguage().toLowerCase());
 		preferences.put(TBXPreferences.UI_LOCALE, "fr"); //$NON-NLS-1$
-		
+
 		preferences.put(TBXPreferences.LANG, Locale.getDefault().getLanguage().toLowerCase()); //$NON-NLS-1$
 		preferences.put(TBXPreferences.ENCODING, DEFAULT_ENCODING);
 		preferences.put(TBXPreferences.DEFAULT_EDITION, "default"); //$NON-NLS-1$
 		preferences.putBoolean(TBXPreferences.ANNOTATE, false);
-		
+
 		preferences.put(TBXPreferences.METADATA_ENCODING, "UTF-8"); //$NON-NLS-1$
 		preferences.put(TBXPreferences.METADATA_TXTSEPARATOR, "\""); //$NON-NLS-1$
 		preferences.put(TBXPreferences.METADATA_COLSEPARATOR, ","); //$NON-NLS-1$
 		preferences.put(TBXPreferences.EMPTY_PROPERTY_VALUE_CODE, "__UNDEF__"); //$NON-NLS-1$
-		
+
 		preferences.put(EXPORT_COL_SEPARATOR, "\t"); //$NON-NLS-1$
 		preferences.put(EXPORT_ENCODING, System.getProperty("file.encoding")); //$NON-NLS-1$
 		preferences.put(EXPORT_TXT_SEPARATOR, ""); //$NON-NLS-1$
 		preferences.putBoolean(EXPORT_SHOW, false);
-		
+
 		preferences.putBoolean(SHOW_ALL_RESULT_NODES, false);
 		preferences.putBoolean(AUTO_PERSISTENCE_ENABLED, false);
-		
+
 		if (Toolbox.getTxmHomePath().endsWith("-dev")) {
 			preferences.put(UPDATESITE, "file://"+System.getProperty("user.home")+"/workspace047/TXMReleasePlugins.site");
 		} else {
Index: tmp/org.txm.core/src/java/org/txm/objects/Edition.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/Edition.java	(revision 1857)
+++ tmp/org.txm.core/src/java/org/txm/objects/Edition.java	(revision 1858)
@@ -214,8 +214,9 @@
 				Log.fine("page found: "+lastpage);
 				return lastpage;
 			}
-
-			lastpage = p;
+			if (!("w_0".equals(p.getWordId()))) { // ignore the w_0 pages
+				lastpage = p;
+			}
 		}
 		return lastpage;
 	}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 1857)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 1858)
@@ -11,10 +11,14 @@
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
 import org.txm.Toolbox;
+import org.txm.core.engines.Engine;
+import org.txm.core.engines.EngineType;
+import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.results.TXMResult;
 import org.txm.objects.EditionDefinition;
 import org.txm.objects.Project;
 import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.utils.logger.Log;
 
 public class ImportWizard extends Wizard implements INewWizard {
 
@@ -66,13 +70,27 @@
 					project.setSourceDirectory(path.getAbsolutePath());
 					project.setDescription(System.getProperty("user.name")+"\n"+TXMResult.PRETTY_LOCALIZED_TIME_FORMAT.format(Calendar.getInstance().getTime()));
 					project.setLang(Locale.getDefault().getLanguage().toLowerCase());
-					System.out.println(NLS.bind(TXMUIMessages.theP0CorpusWillBeCreatedFromTheP1Directory, project.getName(), project.getSrcdir()));
+					
+					Log.info(NLS.bind(TXMUIMessages.theP0CorpusWillBeCreatedFromTheP1Directory, project.getName(), project.getSrcdir()));
+					
+					Engine e = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine("TreeTagger");
+					if (e != null) {
+						System.out.println("set annotate if TT is ready: "+e.isRunning());
+						project.setAnnotate(e.isRunning());
+					}
+					
+					if (project.getAnnotate()) {
+						Log.info("The 'annotate' import parameter has been activated since TreeTagger is installed.");
+					} else {
+						Log.info("The 'annotate' import parameter was not activated since TreeTagger is not installed.");
+					}
+					
 				} else {
 					Date date = project.getLastComputingDate();
 					if (date == null) {
 						date = Calendar.getInstance().getTime(); // today
 					}
-					System.out.println(NLS.bind(TXMUIMessages.theP1P0CorpusWillBeReplaced, project, date));
+					Log.info(NLS.bind(TXMUIMessages.theP1P0CorpusWillBeReplaced, project, date));
 				}
 				
 				//project.compute(); // create/update files
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load080BinaryCorpus.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load080BinaryCorpus.java	(revision 1857)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load080BinaryCorpus.java	(revision 1858)
@@ -72,6 +72,8 @@
 			return null;
 		}
 		
+		Log.info(NLS.bind(TXMUIMessages.loadingTheP0BinaryCorpusAsATXM080Corpus, zipFile.getName()));
+		
 		String basedirname = Zip.getRoot(zipFile);
 
 		Project p = Toolbox.workspace.getProject(basedirname.toUpperCase());
@@ -92,11 +94,8 @@
 				System.out.println(NLS.bind(TXMUIMessages.abortingLoadingOfPOACorpusWithTheSameNameAlreadyExists, zipFile, corpusDirectory));
 				return null;
 			}
-			
 		}
 
-		Log.info(NLS.bind(TXMUIMessages.loadingTheP0BinaryCorpusAsATXM080Corpus, zipFile.getName()));
-
 		try {
 			//System.out.println(NLS.bind(Messages.AddBase_29, zipFile, corporaDir));
 			Zip.decompress(zipFile, Toolbox.workspace.getLocation(), false, monitor);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load079BinaryCorpus.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load079BinaryCorpus.java	(revision 1857)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load079BinaryCorpus.java	(revision 1858)
@@ -74,6 +74,8 @@
 			return null;
 		}
 
+		System.out.println(NLS.bind(TXMUIMessages.loadingTheP0BinaryCorpusAsATXM079Corpus, zipFile.getName()));
+		
 		String basedirname = Zip.getRoot(zipFile);
 
 		Project p = Toolbox.workspace.getProject(basedirname.toUpperCase());
@@ -84,7 +86,6 @@
 				System.out.println(NLS.bind(TXMUIMessages.abortingLoadingOfPOACorpusWithTheSameNameAlreadyExists, zipFile, basedirname.toUpperCase()));
 				return null;
 			}
-			
 		}
 		
 		File corpusDirectory = new File(corporaDir, basedirname);
@@ -96,8 +97,6 @@
 				return null;
 			}
 		}
-		
-		System.out.println(NLS.bind(TXMUIMessages.loadingTheP0BinaryCorpusAsATXM079Corpus, zipFile.getName()));
 
 		//ZIPPED FILE
 		monitor.beginTask(TXMUIMessages.loadingBinaryCorpus, 100);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java	(revision 1857)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java	(revision 1858)
@@ -113,8 +113,8 @@
 		if (this.section.isDisposed()) return;
 		if (project == null) return;
 
-		String lang = project.getLang(); //$NON-NLS-1$;
-		boolean annotate = project.getAnnotate(); //$NON-NLS-1$
+		String lang = project.getLang();
+		boolean annotate = project.getAnnotate();
 
 		//fill combo and select default language
 		String defaultLang = Locale.getDefault().getLanguage().toLowerCase();
@@ -140,7 +140,7 @@
 		}
 
 		langcombo.setText(defaultLang);
-		btnSelectAnnotate.setSelection(annotate); //$NON-NLS-1$
+		btnSelectAnnotate.setSelection(annotate);
 	}
 
 	@Override
Index: tmp/org.txm.utils/src/org/txm/utils/logger/Log.java
===================================================================
--- tmp/org.txm.utils/src/org/txm/utils/logger/Log.java	(revision 1857)
+++ tmp/org.txm.utils/src/org/txm/utils/logger/Log.java	(revision 1858)
@@ -412,4 +412,33 @@
 		}
 		return false;
 	}
+
+	public static void printStackTrace() {
+		StackTraceElement[] st = Thread.currentThread().getStackTrace();
+		int stL = 0;
+		int maxClassNameLength = 0;
+		int maxMethodNameLength = 0;
+
+		for (StackTraceElement t : st) {            
+			String cn = t.getClassName();
+			if (cn.startsWith("org.txm.") && !cn.startsWith(Log.class.getName())) {
+				int cns = cn.length();
+				if (cns > maxClassNameLength) maxClassNameLength = cns;
+				int mns = t.getMethodName().length();
+				if (mns > maxMethodNameLength) maxMethodNameLength = mns;
+				stL++;
+			}
+		}
+
+		int stLs = (int)Math.log10(stL)+1;
+		String format = String.format("[%%%dd]  %%%ds.%%%ds  %%s, %%s", stLs, maxClassNameLength, maxMethodNameLength);
+
+		System.out.println("Stacktrace: ");
+		int n = 1;
+		for (StackTraceElement t : st) {            
+			if (t.getClassName().startsWith("org.txm.") && !t.getClassName().startsWith(Log.class.getName())) {
+				System.out.println(String.format(format, n++, t.getClassName(), t.getMethodName(), t.getFileName(), t.getLineNumber()));
+			}
+		}
+	}
 }
