- 28 Apr, 2017 2 commits
-
-
Benno Schulenberg authored
An iterator should not be called "start_col", because it is only the starting column at the very beginning. Also, start_col (after the rename) can never be /larger/ than column.
-
Benno Schulenberg authored
The mbwidth() function itself checks whether UTF-8 is being used and does the right thing.
-
- 25 Apr, 2017 5 commits
-
-
Benno Schulenberg authored
Also, mention that help texts can now be searched through, update a copyright notice, and update and simplify a copyright year.
-
Benno Schulenberg authored
And in the process transform the token DISABLE_HELP to ENABLE_HELP.
-
Benno Schulenberg authored
The top-left corner changing is far more conspicuous than the top right.
-
Rishabh Dave authored
Allow the user to search in a help text with ^W and M-W. Achieve this by not writing the help text directly to the screen but first writing it to a temporary file and then opening this file in a new buffer, and treating it specially: the normal file-reading feedback is suppressed, the titlebar shows the headline of the text, the cursor is hidden, and the menu is limited to just the up and down movements and searching. This fulfills https://savannah.gnu.org/bugs/?28994 . Signed-off-by:
Rishabh Dave <rishabhddave@gmail.com>
-
Benno Schulenberg authored
This fixes https://savannah.gnu.org/bugs/?50872.
-
- 24 Apr, 2017 1 commit
-
-
Benno Schulenberg authored
The go_back_chunks() function will do this clipping. This fixes https://savannah.gnu.org/bugs/?50866.
-
- 19 Apr, 2017 1 commit
-
-
Benno Schulenberg authored
It takes almost no code and is a useful little improvement over Pico.
-
- 17 Apr, 2017 5 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
Because nothing gets reset to zero or to some initial value.
-
Benno Schulenberg authored
To avoid an ncurses hiccup (miscoloring) when running on musl. This fixes https://savannah.gnu.org/bugs/?50787 . Reported-by:
Avi Halachmi <avihpit@yahoo.com>
-
Benno Schulenberg authored
The cursor needs to be placed in its proper spot in the edit window /only/ when nano is about to accept input from the user and needs to show where this input will go. (This might cause a scrolling issue to appear, because reset_cursor() does not just place the cursor, it also recomputes current_y, which is used in several places to determine whether and how much to scroll. If it so happens, we'll deal with that fallout later.)
-
Benno Schulenberg authored
-
- 09 Apr, 2017 2 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
The interval 2013-2017 for the Free Software Foundation is valid because in those years there were releases with changes by either Chris or David, and the GNU maintainers guide advises to mention a new year in all files of a package, not just in the ones that actually changed, and be done with it for the rest of the year.
-
- 06 Apr, 2017 4 commits
-
-
David Lawrence Ramsey authored
Make nano recognize the escape sequences for Ctrl-Home, Ctrl-End, Shift-Ctrl-Home, and Shift-Ctrl-End on xterm, rxvt, and Eterm.
-
Benno Schulenberg authored
On some terminal emulators, Ctrl+Home and Ctrl+End produce special keycodes, distinct from plain Home and End. Make the users of those emulators (and of the Linux console) glad by making ^Home and ^End do the obvious thing, and the combinations with Shift too.
-
Benno Schulenberg authored
When a multi-column character straddles a chunk boundary, and the preferred column (placewewant) for the cursor is zero, cheat: show the cursor not where the character starts but on the beginning of the next row. This makes the cursor move smoothly in the leftmost column of the screen when using <Up> and <Down> and such, instead of jumping around. In this way the scrolling logic won't get confused and the screen will scroll properly when stepping beyond the top or bottom row. This fixes https://savannah.gnu.org/bugs/?50687.
-
Benno Schulenberg authored
This fixes https://savannah.gnu.org/bugs/?50741.
-
- 04 Apr, 2017 2 commits
-
-
Benno Schulenberg authored
Verify at startup that the number is not too small.
-
David Lawrence Ramsey authored
If edittop is partially offscreen before we scroll, and it gets scrolled more offscreen, we do need to compensate for the chunks between firstcolumn and leftedge -- that is: the chunks between the top row and the cursor row. This fixes https://savannah.gnu.org/bugs/?50691.
-
- 03 Apr, 2017 1 commit
-
-
David Lawrence Ramsey authored
When a two-column character cannot be shown because it straddles the boundary between two chunks of a line, show the '>' placeholder for its left "half", and '<' for its right "half". This mitigates https://savannah.gnu.org/bugs/?49440.
-
- 29 Mar, 2017 2 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
-
- 28 Mar, 2017 4 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
The leftedge variable is a column number, not an x position.
-
David Lawrence Ramsey authored
The number of rows to draw shouldn't be compensated for the chunks of edittop that are before firstcolumn, because they are offscreen. This completes the fix for https://savannah.gnu.org/bugs/?50621.
-
David Lawrence Ramsey authored
There is no need to always increase nrows by 1 or 2 -- an increase of 1 is only needed when the line that borders on the scrolled region needs to redrawn too: when this line was horizontally scrolled or when the mark is on. This fixes https://savannah.gnu.org/bugs/?50621 . Reported-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
- 24 Mar, 2017 2 commits
-
-
Benno Schulenberg authored
-
David Lawrence Ramsey authored
-
- 22 Mar, 2017 9 commits
-
-
Benno Schulenberg authored
But apparently none of these cases occur, because I can't trigger them.
-
Benno Schulenberg authored
-
Benno Schulenberg authored
This could happen when a tab or a double-width character straddles the boundary between two softwrapped chunks.
-
David Lawrence Ramsey authored
If the number of columns in the edit window changes (which currently only happens in two places: in regenerate_screen(), called when the window is resized; and in main(), when line numbering mode is toggled), the display will break if we're in softwrap mode and firstcolumn is nonzero. This is because the column width of softwrapped chunks has changed, and firstcolumn is no longer the starting column of a chunk, an assumption that all code using firstcolumn relies on. To fix this problem, add a new function, ensure_firstcolumn_is_aligned(), to adjust firstcolumn to the starting column of the chunk it's on, and use it when the number of columns in the edit window changes. (Note that this function uses the simplest possible fix, and could probably be made more sophisticated.)
-
David Lawrence Ramsey authored
The new function, update_softwrapped_line(), is called from inside update_line() when softwrap mode is on, so that existing calls remain unchanged. It takes no index, instead displaying edittop from column firstcolumn, and all other lines from column zero. If current is on edittop, it's displayed using the edittop rules, but this is not a problem: if current[current_x] is above edittop at column firstcolumn, it's offscreen, and that should be handled before calling update_line() anyway. Together with the preceding bunch of changes, this fixes https://savannah.gnu.org/bugs/?47667.
-
David Lawrence Ramsey authored
When counting rows in softwrap mode, reset_cursor() should compensate for the number of softwrapped chunks that edittop takes up before firstcolumn.
-
David Lawrence Ramsey authored
Make current_is_above_screen() check for current[current_x] being above edittop at column firstcolumn, and make current_is_below_screen() start counting down from edittop at column firstcolumn instead of edittop at column zero. This means that both functions now account for softwrapped chunks properly.
-
David Lawrence Ramsey authored
Actually enable scrolling edittop partially off the screen by making edit_scroll() and adjust_viewport() use firstcolumn properly when iterating through softwrapped chunks in softwrap mode, or lines in non-softwrap mode. In non-softwrap mode, firstcolumn should still always be zero, because it's initially set to that, and because passing it through the iterators will maintain it at that. This fixes https://savannah.gnu.org/bugs/?49100 . Reported-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
David Lawrence Ramsey authored
Since all lines can be partially scrolled off the screen now (except for edittop, which is forthcoming), the maxlines global variable and its computation mechanism are no longer needed.
-