Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/debug/DescribeTXMResultMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/debug/DescribeTXMResultMacro.groovy	(revision 2108)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/debug/DescribeTXMResultMacro.groovy	(revision 2109)
@@ -3,6 +3,8 @@
 // @author sheiden
 package org.txm.macro.debug
 
+import org.txm.objects.*
+
 def printResult(def obj, String prof) {
 	println (prof+obj.getClass().getSimpleName()+"="+obj)
 	for (def c : obj.getChildren()) {
@@ -11,10 +13,17 @@
 }
 
 def projet = corpusViewSelection.getProject()
+if (projet == null && projet instanceof Project) projet = corpusViewSelection
+if (projet == null) {
+	println "no selection usable $corpusViewSelection"
+	return;
+}
 
 printResult(projet, "")
 
 println " object creation: "+corpusViewSelection.getCreationDate()
 println " object update  : "+corpusViewSelection.getLastComputingDate()	
 println "project creation: "+projet.getCreationDate()
-println "project update  : "+projet.getLastComputingDate()
\ No newline at end of file
+println "project update  : "+projet.getLastComputingDate()
+println "project 'default' edition : "+projet.getEditionDefinition("default")
+println "project 'default' edition : "+projet.getEditionDefinition("facs")
\ No newline at end of file
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZPager.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZPager.groovy	(revision 2108)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/scripts/importer/xtz/XTZPager.groovy	(revision 2109)
@@ -56,7 +56,7 @@
 		
 		// remove extra XSL editions -> they will be recreated by the doPostEditionXSLStep call 
 		for (EditionDefinition eDef : project.getEditionDefinitions()) {
-			if (eDef.getName() != "facs" || eDef.getName() != "default") {
+			if (eDef.getName() != "facs" && eDef.getName() != "default") {
 				eDef.delete();
 			}
 		}
Index: tmp/org.txm.core/src/java/org/txm/objects/Project.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/Project.java	(revision 2108)
+++ tmp/org.txm.core/src/java/org/txm/objects/Project.java	(revision 2109)
@@ -341,7 +341,7 @@
 			return true;
 		}
 	}
-
+	
 	/**
 	 * Initializes the RCP project and project scope.
 	 * 
Index: tmp/org.txm.annotation.rcp/src/org/txm/annotation/rcp/editor/AnnotationExtension.java
===================================================================
--- tmp/org.txm.annotation.rcp/src/org/txm/annotation/rcp/editor/AnnotationExtension.java	(revision 2108)
+++ tmp/org.txm.annotation.rcp/src/org/txm/annotation/rcp/editor/AnnotationExtension.java	(revision 2109)
@@ -134,40 +134,12 @@
 
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				boolean needToUpdateIndexes = false;
-				//System.out.println("Saving annotations...");
-				if (annotationAreas != null && annotationAreas.size() > 0) {
-					for (AnnotationArea aa : annotationAreas) {
-						needToUpdateIndexes = needToUpdateIndexes || (aa.save() &&  aa.needToUpdateIndexes());
-					}
-					CorporaView.refresh();
+				try {
+					notifyDoSave();
+				} catch (Exception e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
 				}
-
-				if (needToUpdateIndexes) {
-					JobHandler job = new JobHandler("Updating corpus editions and indexes", true) {
-
-						@Override
-						protected IStatus run(IProgressMonitor monitor) {
-							final MainCorpus corpus = (MainCorpus) editor.getResult().getFirstParent(MainCorpus.class);
-							monitor.setTaskName("updating corpus indexes and editions");
-							if (corpus != null && UpdateCorpus.update(corpus) != null) {
-								monitor.worked(50);
-								this.syncExec(new Runnable() {
-									public void run() {
-										CorporaView.refreshObject(corpus);
-									}
-								});
-								return Status.OK_STATUS;
-							} else {
-								monitor.worked(50);
-								System.out.println("Fail to update corpus. Aborting");
-								System.out.println("Fix XML-TXM files and call command 'UpdateCorpus'");
-								return Status.CANCEL_STATUS;
-							}
-						}
-					};
-					job.schedule();
-				}
 			}
 
 			@Override
@@ -271,9 +243,40 @@
 	
 	@Override
 	public void notifyDoSave() throws Exception {
-		for (AnnotationArea aa : annotationAreas) {
-			aa.save();
+		boolean needToUpdateIndexes = false;
+		//System.out.println("Saving annotations...");
+		if (annotationAreas != null && annotationAreas.size() > 0) {
+			for (AnnotationArea aa : annotationAreas) {
+				needToUpdateIndexes = needToUpdateIndexes || (aa.save() &&  aa.needToUpdateIndexes());
+			}
+			CorporaView.refresh();
 		}
+
+		if (needToUpdateIndexes) {
+			JobHandler job = new JobHandler("Updating corpus editions and indexes", true) {
+
+				@Override
+				protected IStatus run(IProgressMonitor monitor) {
+					final MainCorpus corpus = (MainCorpus) editor.getResult().getFirstParent(MainCorpus.class);
+					monitor.setTaskName("updating corpus indexes and editions");
+					if (corpus != null && UpdateCorpus.update(corpus) != null) {
+						monitor.worked(50);
+						this.syncExec(new Runnable() {
+							public void run() {
+								CorporaView.refreshObject(corpus);
+							}
+						});
+						return Status.OK_STATUS;
+					} else {
+						monitor.worked(50);
+						System.out.println("Fail to update corpus. Aborting");
+						System.out.println("Fix XML-TXM files and call command 'UpdateCorpus'");
+						return Status.CANCEL_STATUS;
+					}
+				}
+			};
+			job.schedule();
+		}
 	}
 
 	@Override
