Index: TXM/trunk/org.txm.treesearch.rcp/src/org/txm/treesearch/editor/TreeSearchEditor.java
===================================================================
--- TXM/trunk/org.txm.treesearch.rcp/src/org/txm/treesearch/editor/TreeSearchEditor.java	(revision 3549)
+++ TXM/trunk/org.txm.treesearch.rcp/src/org/txm/treesearch/editor/TreeSearchEditor.java	(revision 3550)
@@ -15,6 +15,7 @@
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Spinner;
@@ -91,6 +92,8 @@
 	private Combo visuCombo;
 	
 	private Label visuLabel;
+
+	private Label queryAreaLabel;
 	
 	@Override
 	public void _createPartControl() {
@@ -203,31 +206,6 @@
 		line1.getLayout().horizontalSpacing = 5;
 		line1.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
 		
-		Label l = new Label(line1, SWT.NONE);
-		l.setText(TXMUIMessages.query); // $NON-NLS-1$
-		l.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false));
-		
-		queryArea = new LargeQueryField(line1, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL, currentSelector.getQueryClass());
-		GridData queryAreaLayoutData = new GridData(GridData.FILL, GridData.FILL, true, true);
-		queryAreaLayoutData.horizontalSpan = 12;
-		queryAreaLayoutData.heightHint = 80;
-		queryAreaLayoutData.minimumHeight = 80;
-		queryArea.setLayoutData(queryAreaLayoutData);
-		
-		queryArea.addListener(SWT.KeyDown, new Listener() {
-			
-			@Override
-			public void handleEvent(Event e) {
-				
-				if (e.stateMask == SWT.CTRL) {
-					if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
-						e.doit = false;
-						compute(false);
-					}
-				}
-			}
-		});
-		
 		// second line
 		GLComposite line2 = new GLComposite(queryPanel, SWT.NONE, "line2");
 		line2.getLayout().numColumns = 4;
@@ -254,11 +232,70 @@
 		
 		
 		// bottom toolbar
-		GLComposite navigationAreaComposite = getBottomToolbar().installGLComposite(ConcordanceUIMessages.navigation, 10, false);
+		
+		GLComposite navigationAreaComposite = getBottomToolbar().installGLComposite(ConcordanceUIMessages.navigation, 12, false);
 		navigationAreaComposite.getLayout().verticalSpacing = 5;
 		navigationAreaComposite.getLayout().horizontalSpacing = 5;
 		navigationAreaComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
 		
+		Button search = new Button(navigationAreaComposite, SWT.PUSH);
+		search.setImage(IImageKeys.getImage(IImageKeys.ACTION_SEARCH));
+		search.addSelectionListener(new SelectionListener() {
+			
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				
+				GridData queryAreaLayoutData = (GridData) queryArea.getLayoutData();
+				if (queryArea.isVisible()) { // need to close
+					search.setImage(IImageKeys.getImage(IImageKeys.ACTION_SEARCH));
+					queryArea.setVisible(false);
+					queryAreaLabel.setVisible(false);
+					queryAreaLayoutData.heightHint = 0;
+					queryAreaLayoutData.minimumHeight = 0;
+					queryAreaLayoutData.grabExcessVerticalSpace = false;
+					queryAreaLayoutData.grabExcessHorizontalSpace = false;
+				} else {
+					search.setImage(IImageKeys.getImage(IImageKeys.ACTION_DELETE));
+					queryArea.setVisible(true);
+					queryAreaLabel.setVisible(true);
+					queryAreaLayoutData.heightHint = 80;
+					queryAreaLayoutData.minimumHeight = 80;
+					queryAreaLayoutData.grabExcessVerticalSpace = true;
+					queryAreaLayoutData.grabExcessHorizontalSpace = true;
+				}
+				navigationAreaComposite.getParent().getParent().layout();
+			}
+			
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) { }
+		});
+		queryAreaLabel = new Label(navigationAreaComposite, SWT.NONE);
+		queryAreaLabel.setText(TXMUIMessages.query); //$NON-NLS-1$
+		queryAreaLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
+		queryAreaLabel.setVisible(false);
+		
+		queryArea = new LargeQueryField(navigationAreaComposite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL, currentSelector.getQueryClass());
+		GridData queryAreaLayoutData = new GridData(GridData.FILL, GridData.FILL, true, true);
+		queryAreaLayoutData.horizontalSpan = 2;
+		queryAreaLayoutData.heightHint = 80;
+		queryAreaLayoutData.minimumHeight = 80;
+		queryArea.setLayoutData(queryAreaLayoutData);
+		queryArea.setVisible(false);
+		
+		queryArea.addListener(SWT.KeyDown, new Listener() {
+			
+			@Override
+			public void handleEvent(Event e) {
+				
+				if (e.stateMask == SWT.CTRL) {
+					if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
+						e.doit = false;
+						compute(false);
+					}
+				}
+			}
+		});
+		
 		// fill param Area
 		Label l3 = new Label(navigationAreaComposite, SWT.NONE);
 		l3.setText("Match "); //$NON-NLS-1$
Index: TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java
===================================================================
--- TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 3549)
+++ TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 3550)
@@ -335,7 +335,16 @@
 			this.queryResult = pQueryResult;
 		}
 		else {
-			this.queryResult = pQuery.getSearchEngine().query(this.getCorpus(), pQuery, pQuery.getQueryString().replace(" ", "_") + "_concordance", true);
+			try {
+				this.queryResult = pQuery.getSearchEngine().query(this.getCorpus(), pQuery, pQuery.getQueryString().replace(" ", "_") + "_concordance", true);
+			} catch (Exception e) {
+				this.nLines = 0;
+				this.pTopIndex = 0;
+				this.lines = new ArrayList<>();
+				Log.warning("** CQP error: "+e.getMessage());
+				Log.printStackTrace(e);
+				return false;
+			}
 			// this.queryResult = this.getCorpus().query(pQuery, pQuery.getQueryString().replace(" ", "_") + "_concordance", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
 		
Index: TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java
===================================================================
--- TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 3549)
+++ TXM/trunk/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 3550)
@@ -350,7 +350,7 @@
 		unitColumn = new TableColumn(viewer.getTable(), SWT.LEFT);
 		unitColumn.setText(TXMCoreMessages.common_units);
 		unitColumn.setToolTipText(TXMCoreMessages.common_units);
-		unitColumn.setWidth(200);
+		unitColumn.setWidth(300);
 		unitColumn.addSelectionListener(new SelectionListener() {
 			
 			@Override
@@ -422,7 +422,7 @@
 		
 		// Register the context menu
 		TXMEditor.initContextMenu(this.viewer.getTable(), this.getSite(), this.viewer);
-		
+		TXMEditor.packColumns(this.viewer);
 		setFocus();
 		
 	}
@@ -451,6 +451,8 @@
 		
 		fillResultArea();
 		
+		TXMEditor.packColumns(this.viewer);
+		
 		viewer.getTable().setFocus();
 	}
 	
Index: TXM/trunk/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java
===================================================================
--- TXM/trunk/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java	(revision 3549)
+++ TXM/trunk/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java	(revision 3550)
@@ -237,9 +237,9 @@
 		
 		// finally we can 'try' to create the annotations \o/
 		try {
-			System.out.println("CREATE ANNOTATIONS");
+			//System.out.println("CREATE ANNOTATIONS");
 			HashMap<Match, List<Annotation>> existingAnnots = annotManager.createAnnotations(type, value_to_add, matches, job);
-			System.out.println("END OF CREATE ANNOTATIONS");
+			//System.out.println("END OF CREATE ANNOTATIONS");
 			// did we had problems ?
 			if (existingAnnots != null && existingAnnots.size() > 0) {
 				String message = NLS.bind(KRAnnotationUIMessages.couldNotAnnotateTheValueP0OnCertainSequences, value_to_add.getStandardName());
@@ -283,10 +283,10 @@
 			@Override
 			public void run() {
 				try {
-					System.out.println("REFRESH ANNOTATIONS");
+					//System.out.println("REFRESH ANNOTATIONS");
 					annotationColumn.setText("*" + annotations.getViewAnnotation().getName());
 					notifyStartOfRefresh();
-					System.out.println("END OF REFRESH ANNOTATIONS");
+					//System.out.println("END OF REFRESH ANNOTATIONS");
 					annotationColumnViewer.getViewer().refresh();
 					//editor.refresh(false);
 				}
Index: TXM/trunk/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/commands/SaveAnnotationsAndUpdateCorpus.java
===================================================================
--- TXM/trunk/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/commands/SaveAnnotationsAndUpdateCorpus.java	(revision 3549)
+++ TXM/trunk/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/commands/SaveAnnotationsAndUpdateCorpus.java	(revision 3550)
@@ -66,6 +66,10 @@
 			// System.out.println("DISPLAY="+Display.getDefault());
 			final Boolean[] doit = new Boolean[1];
 			doit[0] = true;
+			
+			final Boolean[] doupdateedition = new Boolean[1];
+			doupdateedition[0] = KRAnnotationPreferences.getInstance().getBoolean(KRAnnotationPreferences.UPDATE_EDITION);
+			
 			Display.getDefault().syncExec(new Runnable() {
 				
 				@Override
@@ -77,6 +81,7 @@
 					dialog.setDoUpdateEdition(KRAnnotationPreferences.getInstance().getBoolean(KRAnnotationPreferences.UPDATE_EDITION));
 					
 					doit[0] = dialog.open() == Window.OK;
+					doupdateedition[0] = dialog.getDoUpdateEdition();
 				}
 			});
 			if (doit[0] == false) {
@@ -102,7 +107,7 @@
 							
 							try {
 								monitor.setTaskName("Updating corpus");
-								if (fcorpus != null && UpdateCorpus.update(fcorpus, false, KRAnnotationPreferences.getInstance().getBoolean(KRAnnotationPreferences.UPDATE_EDITION)) != null) {
+								if (fcorpus != null && UpdateCorpus.update(fcorpus, false, doupdateedition[0]) != null) {
 									monitor.worked(50);
 									this.syncExec(new Runnable() {
 										
Index: TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 3549)
+++ TXM/trunk/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 3550)
@@ -1500,6 +1500,7 @@
 			this.queryWidget.memorize();
 			
 			if (getResult().isDirty()) { // the result compute failed
+				
 				SearchEngine se = getResult().getQuery().getSearchEngine();
 				if (se instanceof CQPSearchEngine) {
 					try {
@@ -1515,6 +1516,8 @@
 						e1.printStackTrace();
 					}
 				}
+				
+				fillDisplayArea(true);
 			} else {
 				if (queryWidgetInitBackground != null) queryWidget.setBackground(queryWidgetInitBackground);
 			}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 3549)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 3550)
@@ -994,7 +994,7 @@
 					notifyExtensions("notifyStartOfCompute"); //$NON-NLS-1$
 					
 					if (!TXMEditor.this.getResult().compute(subMonitor.split(50))) {
-						Log.info("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": computing failed."); //$NON-NLS-1$ //$NON-NLS-2$
+						Log.fine("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": computing failed."); //$NON-NLS-1$ //$NON-NLS-2$
 					}
 					
 					notifyExtensions("notifyEndOfCompute"); //$NON-NLS-1$
@@ -1771,7 +1771,7 @@
 		Font font = viewer.getTable().getFont();
 		FontData fd = font.getFontData()[0];
 		
-		float W = fd.height * 0.45f;
+		float W = fd.height * 0.55f;
 		
 		// set width of each column
 		for (int i = 0 ; i < ncolumns ; i++) {
