diff -ur a/tclreadline.c b/tclreadline.c
--- a/tclreadline.c	2013-11-16 20:14:28.876272386 +0100
+++ b/tclreadline.c	2013-11-16 20:14:24.191390550 +0100
@@ -503,25 +503,22 @@
 	char* expansion = (char*) NULL;
 	int status = history_expand(ptr, &expansion);
 
-	if (status >= 1) {
+	if (status >= 2) {
 	    /* TODO: make this a valid tcl output */
 	    printf("%s\n", expansion);
 		free(ptr);
 		free(expansion);
 		return;
-	} else if (-1 == status) {
+	} else if (status <= -1) {
 	    Tcl_AppendResult
-	    (tclrl_interp, "error in history expansion\n", (char*) NULL);
+	    (tclrl_interp, "error in history expansion: ", expansion, "\n", (char*) NULL);
 	    TclReadlineTerminate(TCL_ERROR);
 		free(ptr);
 		free(expansion);
 		return;
-	}
-	/**
-	 * TODO: status == 2 ...
-	 */
-
-	Tcl_AppendResult(tclrl_interp, expansion, (char*) NULL);
+	} else {
+        Tcl_AppendResult(tclrl_interp, expansion, (char*) NULL);
+    }
 
 #ifdef EXECUTING_MACRO_HACK
 	/**
