Also, colorize more quoted symbols and booleans, make the green for
syntax words and the blue for keywords lighter, and show comments
in grey italics. Also, don't miscolorize some empty strings as if
they were the start of a multiline string.
This addresses most of https://savannah.gnu.org/patch/?10558.
Only the cut-from-cursor toggle should break a chain of cuts or copies,
because it affects how those operations behave. All other toggles have
no effect on those operations nor on the position of the cursor, so they
should not break a chain of cutting or copying keystrokes.
Achieve this by reshuffling a fragment of code to before the fragment
that triggers cutbuffer clearing for most operations.
(This has as interesting side effect that none of the toggles breaks a
chain of completions either.)
This fixes https://savannah.gnu.org/bugs/?68050.
Bug existed since version 4.3, commit 6c4f228f.
Starting the recording or replaying of a macro does not change anything
about the position of the cursor or the state of the buffer, so those
functions should not interrupt a series of cuts (^K) or copies (M-6).
This allows a macro to complete a series of cuts or copies that were
initiated manually (or by a previous macro).
This addresses https://savannah.gnu.org/bugs/?68046.
When the user stops a macro recording immediately after starting it,
cancel the recording and restore the macro that existed previously,
instead of storing a new empty macro.
This avoids overwriting an existing macro when the user realizes at
once that they've hit `recordmacro` instead of `runmacro`.
Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
When using --jumpy, the viewport scrolls vertically in steps of
half a screen (height). Then it makes sense that the viewport
also scrolls horizontally in steps of half a screen (width).
Parentheses were missing in the declaration of wmemchr().
They were added two months ago in gnulib commit df17f4f37e.
This addresses the first part of https://savannah.gnu.org/bugs/?67954.
Reported-by: Rudi Heitbaum <rudi@heitbaum.com>
In the prompt bar, clicking beyond the end of the answer places the
cursor at the end of the answer. Then it makes sense that clicking
before the beginning of the answer places the cursor at its beginning.
With --mouse and --indicator, clicking in the rightmost column of
the edit window (the "scrollbar" area) now makes the cursor jump
to the line that places the indicator at the clicked position.
Inspired-by: Firefox, and originally by tilde and fte.
When going to handle clicks on shortcuts, the help lines are present,
so we know exactly where the prompt is (third line from the bottom),
so there is no need to first convert the coordinates to be relative
to the bottom window and then restore them when `mouse_y` is zero.
Only the Yes-No routine handles clicks on shortcuts itself, so just
exclude that menu from the shortcut handling by mouse, instead of
burdening every call with an unclear parameter.