#include <stdbool.h>
#include <stdio.h>
+#include "libpspp/str.h"
#if HAVE_READLINE
#include <readline/readline.h>
struct lex_reader *
terminal_reader_create (void)
{
- struct terminal_reader *r;
-
if (!n_terminal_readers++)
readline_init ();
- r = xzalloc (sizeof *r);
+ struct terminal_reader *r = XZALLOC (struct terminal_reader);
r->reader.class = &terminal_reader_class;
- r->reader.syntax = LEX_SYNTAX_INTERACTIVE;
+ r->reader.syntax = SEG_MODE_INTERACTIVE;
r->reader.error = LEX_ERROR_TERMINAL;
r->reader.file_name = NULL;
r->s = ss_empty ();
case PROMPT_DO_REPEAT:
return "DO REPEAT> ";
+
+ case PROMPT_DEFINE:
+ return "DEFINE> ";
}
NOT_REACHED ();
if (state == 0)
cmd = NULL;
name = cmd_complete (text, &cmd);
- return name ? xstrdup (name) : NULL;
+ return xstrdup_if_nonnull (name);
}
#else /* !HAVE_READLINE */