diff --git a/ChangeLog b/ChangeLog index f1ce1a39..37c8da59 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ * configure.ac: For the sake of statically linked systems, make sure the compiler also links against libz, which is used by libmagic. This fixes Savannah bug #38378, reported by Alan Hourihane. + * src/nano.c (do_mouse, do_input): Don't bother returning zero when + the cursor moved, just reset the cutbuffer directly. This avoids an + "Unknown Command" message on every cursor-positioning mouse click. 2014-06-14 Mark Majeres * src/nano.h, src/text.c (undo_cut, update_undo): When undoing a diff --git a/src/nano.c b/src/nano.c index 84de5fe1..50de0adc 100644 --- a/src/nano.c +++ b/src/nano.c @@ -1584,14 +1584,12 @@ int do_input(bool *meta_key, bool *func_key, bool allow_funcs) #ifndef DISABLE_MOUSE if (*func_key && input == KEY_MOUSE) { /* We received a mouse click. */ - int result = do_mouse(); - - if (result == 1) + if (do_mouse() == 1) /* The click was on a shortcut -- read in the character * that it was converted into. */ input = get_kbinput(edit, meta_key, func_key); - else if (result != 0) - /* The click was invalid -- get out. */ + else + /* The click was invalid or has been handled -- get out. */ return ERR; } #endif @@ -1810,15 +1808,15 @@ int do_mouse(void) * the line. */ if (sameline && openfile->current_x == current_x_save) do_mark(); + else #endif + /* The cursor moved; clean the cutbuffer on the next cut. */ + cutbuffer_reset(); edit_redraw(current_save, pww_save); - - /* The click influenced the cursor. */ - return 0; } - /* The click was elsewhere, ignore it. */ + /* No more handling is needed. */ return 2; } #endif /* !DISABLE_MOUSE */