Module Name: src
Committed By: christos
Date: Wed Feb 26 13:50:29 UTC 2014
Modified Files:
src/lib/libedit: eln.c
Log Message:
Add missing EL_REFRESH
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/lib/libedit/eln.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libedit/eln.c
diff -u src/lib/libedit/eln.c:1.14 src/lib/libedit/eln.c:1.15
--- src/lib/libedit/eln.c:1.14 Sun Mar 11 17:15:25 2012
+++ src/lib/libedit/eln.c Wed Feb 26 08:50:29 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: eln.c,v 1.14 2012/03/11 21:15:25 christos Exp $ */
+/* $NetBSD: eln.c,v 1.15 2014/02/26 13:50:29 christos Exp $ */
/*-
* Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
*/
#include "config.h"
#if !defined(lint) && !defined(SCCSID)
-__RCSID("$NetBSD: eln.c,v 1.14 2012/03/11 21:15:25 christos Exp $");
+__RCSID("$NetBSD: eln.c,v 1.15 2014/02/26 13:50:29 christos Exp $");
#endif /* not lint && not SCCSID */
#include "histedit.h"
@@ -125,6 +125,15 @@ el_set(EditLine *el, int op, ...)
break;
}
+ case EL_PROMPT_ESC:
+ case EL_RPROMPT_ESC: {
+ el_pfunc_t p = va_arg(ap, el_pfunc_t);
+ int c = va_arg(ap, int);
+
+ ret = prompt_set(el, p, c, op, 0);
+ break;
+ }
+
case EL_TERMINAL: /* const char * */
ret = el_wset(el, op, va_arg(ap, char *));
break;
@@ -220,27 +229,31 @@ el_set(EditLine *el, int op, ...)
el->el_flags |= NARROW_HISTORY;
break;
}
+
/* XXX: do we need to change el_rfunc_t? */
case EL_GETCFN: /* el_rfunc_t */
ret = el_wset(el, op, va_arg(ap, el_rfunc_t));
el->el_flags |= NARROW_READ;
break;
+
case EL_CLIENTDATA: /* void * */
ret = el_wset(el, op, va_arg(ap, void *));
break;
+
case EL_SETFP: { /* int, FILE * */
int what = va_arg(ap, int);
FILE *fp = va_arg(ap, FILE *);
ret = el_wset(el, op, what, fp);
break;
}
- case EL_PROMPT_ESC: /* el_pfunc_t, char */
- case EL_RPROMPT_ESC: {
- el_pfunc_t p = va_arg(ap, el_pfunc_t);
- char c = (char)va_arg(ap, int);
- ret = prompt_set(el, p, c, op, 0);
+
+ case EL_REFRESH:
+ re_clear_display(el);
+ re_refresh(el);
+ terminal__flush(el);
+ ret = 0;
break;
- }
+
default:
ret = -1;
break;