xC: fix libedit start from empty configuration

This commit is contained in:
2026-01-10 11:56:25 +01:00
parent 2728f9d1eb
commit 45b1b16c77
3 changed files with 8 additions and 2 deletions

View File

@@ -1,4 +1,4 @@
Copyright (c) 2014 - 2025, Přemysl Eric Janouch <p@janouch.name>
Copyright (c) 2014 - 2026, Přemysl Eric Janouch <p@janouch.name>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

2
NEWS
View File

@@ -3,6 +3,8 @@ Unreleased
* xC: added more characters as nickname delimiters,
so that @nick works as a highlight
* xC: fixed libedit crash with empty configuration, hackfixed Readline >= 8.3
* xC: prevented rare crashes in relay code
* xP: added a network lag indicator to the user interface

6
xC.c
View File

@@ -1,7 +1,7 @@
/*
* xC.c: a terminal-based IRC client
*
* Copyright (c) 2015 - 2024, Přemysl Eric Janouch <p@janouch.name>
* Copyright (c) 2015 - 2026, Přemysl Eric Janouch <p@janouch.name>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted.
@@ -572,6 +572,8 @@ input_rl_buffer_switch (void *input, input_buffer_t input_buffer)
{
struct input_rl *self = input;
struct input_rl_buffer *buffer = input_buffer;
if (!self->active)
return;
// There could possibly be occurences of the current undo list in some
// history entry. We either need to free the undo list, or move it
@@ -16150,6 +16152,8 @@ main (int argc, char *argv[])
on_refresh_prompt (&ctx);
ctx.input->add_functions = input_add_functions;
CALL_ (ctx.input, start, argv[0]);
// We start input after creating the first buffer, so attach history
CALL_ (ctx.input, buffer_switch, ctx.current_buffer->input_data);
toggle_bracketed_paste (true);
reset_autoaway (&ctx);