1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 14:14:48 +02:00

core: fix paste detection (problem with end of lines)

This commit is contained in:
Sebastien Helleu
2011-09-27 21:35:13 +02:00
parent a8c22c11fc
commit d0f41efeb7
3 changed files with 18 additions and 5 deletions
+2 -1
View File
@@ -1,12 +1,13 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
v0.3.6-dev, 2011-09-24
v0.3.6-dev, 2011-09-27
Version 0.3.6 (under dev!)
--------------------------
* core: fix paste detection (problem with end of lines)
* core: add new option weechat.look.color_basic_force_bold, off by default: bold
is used only if terminal has less than 16 colors (patch #7621)
* core: add default key "meta2-[E" (F5) for linux console
+7 -1
View File
@@ -509,7 +509,13 @@ gui_key_read_cb (void *data, int fd)
for (i = 0; i < ret; i++)
{
gui_key_buffer_add (buffer[i]);
/* add all chars (ignore a '\n' after a '\r') */
if ((i == 0)
|| (buffer[i] != '\n')
|| (buffer[i - 1] != '\r'))
{
gui_key_buffer_add (buffer[i]);
}
}
text_added_to_buffer = 1;
+9 -3
View File
@@ -1386,10 +1386,13 @@ gui_key_buffer_add (unsigned char key)
if (gui_key_buffer)
{
gui_key_buffer[gui_key_buffer_size - 1] = key;
if ((key == 13)
if (((key == '\r') || (key == '\n'))
&& (gui_key_buffer_size > 1)
&& (gui_key_buffer[gui_key_buffer_size - 2] != 13))
&& (gui_key_buffer[gui_key_buffer_size - 2] != '\r')
&& (gui_key_buffer[gui_key_buffer_size - 2] != '\n'))
{
gui_key_paste_lines++;
}
}
else
{
@@ -1409,8 +1412,11 @@ int
gui_key_get_paste_lines ()
{
if ((gui_key_buffer_size > 0)
&& (gui_key_buffer[gui_key_buffer_size - 1] != 13))
&& (gui_key_buffer[gui_key_buffer_size - 1] != '\r')
&& (gui_key_buffer[gui_key_buffer_size - 1] != '\n'))
{
return gui_key_paste_lines + 1;
}
return gui_key_paste_lines;
}