Implement journaling. Bug #17240.
[pspp-builds.git] / src / language / lexer / lexer.c
index a20cc17506db62d170a7a084b7ff0afabf3882e5..4e10ec22478caf8c8e3579d9e8b8094b0b31f688 100644 (file)
@@ -31,6 +31,7 @@
 #include <data/settings.h>
 #include <libpspp/getl.h>
 #include <libpspp/str.h>
+#include <output/journal.h>
 
 #include "size_max.h"
 
@@ -856,8 +857,13 @@ bool
 lex_get_line_raw (struct lexer *lexer, enum getl_syntax *syntax)
 {
   enum getl_syntax dummy;
-  bool ok = getl_read_line (lexer->ss, &lexer->line_buffer,
-                              syntax != NULL ? syntax : &dummy);
+  bool ok;
+
+  if (syntax == NULL)
+    syntax = &dummy;
+  ok = getl_read_line (lexer->ss, &lexer->line_buffer, syntax);
+  journal_write (*syntax == GETL_BATCH, ds_cstr (&lexer->line_buffer));
+
   return ok;
 }