summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2015-11-16 13:23:29 +0100
committerantirez <antirez@gmail.com>2015-11-17 15:43:24 +0100
commit22959e07dc54370564b21f94c62f926a48c0cfe0 (patch)
treeb24c458546a9d4385a1614fb00a9f74ab01b9dc8
parent70a51694deff3a27f8cacb195a96fe5aa68eb943 (diff)
downloadredis-22959e07dc54370564b21f94c62f926a48c0cfe0.tar.gz
Lua debugger: redis-cli: show compile errors in LDB mode.
-rw-r--r--src/redis-cli.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/redis-cli.c b/src/redis-cli.c
index 40b74970a..486d087e8 100644
--- a/src/redis-cli.c
+++ b/src/redis-cli.c
@@ -1209,10 +1209,19 @@ static int evalMode(int argc, char **argv) {
argv2[2] = sdscatprintf(sdsempty(),"%d",keys);
/* Call it */
+ int eval_ldb = config.eval_ldb; /* Save it, may be reverteed. */
int retval = issueCommand(argc+3-got_comma, argv2);
- if (config.eval_ldb) {
- strncpy(config.prompt,"lua debugger> ",sizeof(config.prompt));
- repl();
+ if (eval_ldb) {
+ if (!config.eval_ldb) {
+ /* If the debugging session ended immediately, there was an
+ * error compiling the script. Show it and don't enter
+ * the REPL at all. */
+ printf("Eval debugging session can't start:\n");
+ cliReadReply(0);
+ } else {
+ strncpy(config.prompt,"lua debugger> ",sizeof(config.prompt));
+ repl();
+ }
}
return retval;
}