summaryrefslogtreecommitdiffstats
path: root/linenoise/linenoise.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-08-12 20:19:56 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-08-12 20:19:56 -0700
commitb3afc5dc912589b6eee2da2a7c86c4826fdd221f (patch)
tree2b05c2dd51419b560658272d8e1623afae7bfe61 /linenoise/linenoise.c
parent8814829f386cb8b4fd89b969f0188d26bb61440d (diff)
downloadtxr-b3afc5dc912589b6eee2da2a7c86c4826fdd221f.tar.gz
txr-b3afc5dc912589b6eee2da2a7c86c4826fdd221f.tar.bz2
txr-b3afc5dc912589b6eee2da2a7c86c4826fdd221f.zip
listener: don't flush lines when writing files.
* linenoise/linenoise.h (struct lino_os): New virtual operation, puts_file_fn: like puts_fn, but not display-oriented: doesn't check for and ignore padding characters, and doesn't flush after each line. (lino_os_init): Initializer macro updated. * linenoise/linenoise.c (edit_it_editor): Use puts_file_fn to write to temporary file. (lino_hist_save): Likewise, when writing out history. * parser.c (lino_puts_file): New static function. (linenoise_txr_binding): Add lino_puts_file to initializer to wire in the operation.
Diffstat (limited to 'linenoise/linenoise.c')
-rw-r--r--linenoise/linenoise.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c
index 01b6b53d..060963c5 100644
--- a/linenoise/linenoise.c
+++ b/linenoise/linenoise.c
@@ -1947,7 +1947,7 @@ static void edit_in_editor(lino_t *l) {
int preserve = 0;
tr(l->data, '\r', '\n');
- if (lino_os.puts_fn(fo, l->data) && lino_os.puts_fn(fo, L"\n"))
+ if (lino_os.puts_file_fn(fo, l->data) && lino_os.puts_file_fn(fo, L"\n"))
{
mem_t *fi;
lino_os.close_fn(fo);
@@ -2745,8 +2745,8 @@ int lino_hist_save(lino_t *ls, const wchar_t *filename) {
}
for (j = 0; j < ls->history_len; j++) {
- lino_os.puts_fn(fp, ls->history[j]);
- lino_os.puts_fn(fp, L"\n");
+ lino_os.puts_file_fn(fp, ls->history[j]);
+ lino_os.puts_file_fn(fp, L"\n");
}
lino_os.close_fn(fp);