summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/degesch.c b/degesch.c
index 61355ef..b84aad6 100644
--- a/degesch.c
+++ b/degesch.c
@@ -1328,8 +1328,6 @@ channel_user_destroy (struct channel_user *self)
// We keep references to channels in their buffers,
// and weak references in their users and the name lookup table.
-// XXX: this doesn't really have to be reference countable
-
struct channel
{
REF_COUNTABLE_HEADER
@@ -3366,11 +3364,14 @@ line_wrap_flush (struct line_wrap_state *s, bool force_split)
else if (force_split || s->chunk.used > s->line_max)
{
#ifdef WRAP_UNNECESSARILY
- // Use the entire line and split the chunk in the middle
+ // When the line wraps at the end of the screen and a background colour
+ // is set, the terminal paints the entire new line with that colour.
+ // Explicitly inserting a newline with the default attributes fixes it.
line_wrap_flush_split (s, &s->overflow);
#else
- // We don't actually _need_ to split here, and doing so will break
- // link searching mechanisms in some terminals
+ // Splitting here breaks link searching mechanisms in some terminals,
+ // though, so we make a trade-off and let the chunk wrap naturally.
+ // Fuck terminals, really.
s->line_used = s->overflow.used;
#endif
}
@@ -10136,7 +10137,6 @@ handle_command_buffer (struct handler_args *a)
else if (!strcasecmp_ascii (action, "clear"))
{
buffer_clear (a->buffer);
- // XXX: clear screen?
buffer_print_backlog (ctx, a->buffer);
}
else if (!strcasecmp_ascii (action, "move"))