- 28 Mar, 2018 1 commit
-
-
Benno Schulenberg authored
-
- 18 Mar, 2018 1 commit
-
-
Benno Schulenberg authored
When the cursor is on the first or last row of the edit window, and thus Scroll-Down or Scroll-Up would push it offscreen, first move the cursor away from the edge row and then scroll. This fixes https://savannah.gnu.org/bugs/?53376.
-
- 17 Mar, 2018 3 commits
-
-
Benno Schulenberg authored
When just scrolling and the cursor does not need to change position (that is: it is not on the first or last row of the edit window), then edit_scroll() has handled everything and there is no need to additionally redraw anything or update 'placewewant'.
-
Benno Schulenberg authored
Also, rename a parameter and invert its logic.
-
Benno Schulenberg authored
Instead of keeping the cursor in the same spot on the screen, let the cursor move with the text (whenever possible). This makes these functions behave the same as in Vim and Emacs.
-
- 10 Mar, 2018 1 commit
-
-
Benno Schulenberg authored
And adjust the comments accordingly.
-
- 24 Jan, 2018 1 commit
-
-
Benno Schulenberg authored
And one for me, for the much changed keyboard stuff.
-
- 29 Dec, 2017 1 commit
-
-
Benno Schulenberg authored
Each leading tab is converted to two tabs, and any leading four spaces is converted to one tab. The intended tab size (for keeping most lines within 80 columns) is now four.
-
- 26 Dec, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 12 Nov, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 31 Oct, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 25 Oct, 2017 1 commit
-
-
Benno Schulenberg authored
This fixes https://savannah.gnu.org/bugs/?52183 . Tested-by:
David Lawrence Ramsey <pooka109@gmail.com> Improved-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
- 12 Oct, 2017 1 commit
-
-
Benno Schulenberg authored
When we've landed on a tab and we are moving down and the tab starts before the current chunk, then push the index forward -- otherwise we would not advance. When instead we're moving up and the end of the preceding row is on the same tab as the target column AND the end of the current row is not on that same tab, then there is some character on this row that we can put the cursor on, so push the index forward -- otherwise we would skip a usable row. This fixes https://savannah.gnu.org/bugs/?52125 and fixes https://savannah.gnu.org/bugs/?52139.
-
- 15 Sep, 2017 1 commit
-
-
David Lawrence Ramsey authored
This fixes http://savannah.gnu.org/bugs/?52042 . Reported-by:
Mike Frysinger <vapier@gentoo.org>
-
- 31 Aug, 2017 2 commits
-
-
Benno Schulenberg authored
And use these constants in another context too.
-
Benno Schulenberg authored
-
- 29 Aug, 2017 1 commit
-
-
Benno Schulenberg authored
When moving the cursor to the top-left corner, it is not necessary to compute leftedge because firstcolumn IS the relevant leftedge. Reported-by:
Jordi Mallach <jordi@debian.org>
-
- 26 Aug, 2017 1 commit
-
-
David Lawrence Ramsey authored
Don't skip rows that contain something when moving up, and do put the cursor in the desired column whenever possible when moving down. This fixes http://savannah.gnu.org/bugs/?51827 and fixes http://savannah.gnu.org/bugs/?51828.
-
- 22 Aug, 2017 4 commits
-
-
David Lawrence Ramsey authored
This fixes http://savannah.gnu.org/bugs/?51821.
-
Benno Schulenberg authored
It's not yet good enough: when proper_x() pushes the index forward, maybe it should also increase leftedge? Or go_forward_chunks()?
-
Benno Schulenberg authored
This helps to fix https://savannah.gnu.org/bugs/?51787 . Correction-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
Benno Schulenberg authored
This fixes https://savannah.gnu.org/bugs/?51809.
-
- 21 Aug, 2017 1 commit
-
-
David Lawrence Ramsey authored
When the screen is narrower than a tab is wide, the cursor does not need to be on the first/last line of the window before an <Up>/<Down> could need to scroll the screen. This fixes http://savannah.gnu.org/bugs/?51776 . Reported-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
- 20 Aug, 2017 2 commits
-
-
Benno Schulenberg authored
This is a temporary fix. The resultant movement is erratic and not what is desired (which is: to stay in the same screen column as much as possible).
-
Benno Schulenberg authored
Also, move home to the first character after the tab if the current chunk starts with a partial tab. This fixes https://savannah.gnu.org/bugs/?51800 . Original-idea-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
- 18 Aug, 2017 4 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
-
David Lawrence Ramsey authored
-
David Lawrence Ramsey authored
Using do_up() and do_end() when the user types <Left> at the start of a line, and do_down() and do_home() when typing <Right> at line's end can be problematic when tabs are wider than the screen, because those functions convert indexes to columns and back again twice, thus causing inaccuracies. Therefore, simply adjust current and current_x directly, and then redraw the screen. This fixes https://savannah.gnu.org/bugs/index.php?51778.
-
- 06 Aug, 2017 1 commit
-
-
Benno Schulenberg authored
Without them, nano still compiles for me, with everything enabled, even when using --enable-debug, --enable-utf8, and --with-slang.
-
- 17 Jul, 2017 1 commit
-
-
David Lawrence Ramsey authored
Since commit 8490f4ac, get_edge_and_target() depends on an up-to-date current_x. So: make sure current_x is updated when we move to the top left of the screen to start a non-smooth PageUp or PageDown. This fixes https://savannah.gnu.org/bugs/?51480.
-
- 09 Jul, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 07 Jul, 2017 4 commits
-
-
Benno Schulenberg authored
-
David Lawrence Ramsey authored
Use actual_last_column() to properly adjust the cursor if placewewant is past the end of a softwrapped chunk.
-
David Lawrence Ramsey authored
get_chunk_row() and get_chunk_leftedge() now become wrappers around get_chunk(); the latter is only used directly in place_the_cursor() when we need to get both the row and the leftedge. get_chunk() now uses the proper formula to implement varying chunk width. Since chunk width now varies, place_the_cursor() sets the x position relative to the leftedge in a different way that works regardless of chunk width, update_softwrapped_line() loops until it gets all softwrap breakpoints instead of calculating the full length in advance and getting one full row at a time, the chunk iterators now count leftedges instead of rows, and fix_firstcolumn() does a full recalculation of the chunk that firstcolumn is on instead of simply shifting it back. Also, in update_softwrapped_line(), when a line's softwrap breakpoint is before the last column of the edit window, a ">" is now added to the end of it. The workaround in place_the_cursor() for when two-column characters straddle the edge of the screen is removed, as it's no longer needed now that chunks end before such characters. Furthermore, do_home() and do_end() use xplustabs() instead of placewewant again when calculating the leftedge, since placewewant refers to a column that may or may not be available (if it's not, the cursor will be placed wrongly). Make get_edge_and_target() use xplustabs() instead of placewewant for the same reason; this also lets us simplify get_edge_and_target(), since xplustabs() will never be greater than strlenpt(). Finally, since do_end() now has to calculate rightedge as well as rightedge_x, use the former to implement the same time-saving optimizations as in do_home(). The cursor is not yet adjusted when we try to go directly to a column past the end of a softwrap breakpoint, and placewewant handling in the vertical movement code is not yet adjusted for varying chunk lengths, but fixes for these are forthcoming. This fixes https://savannah.gnu.org/bugs/?49440.
-
David Lawrence Ramsey authored
get_chunk_row() replaces the formula "column / editwincols". get_chunk_leftedge() replaces "(column / editwincols) * editwincols". get_last_chunk_row() replaces "strlenpt() / editwincols". get_last_chunk_leftedge() replaces "(strlenpt() / editwincols) * editwincols". This prepares us for any changes in those formulas, and for more such functions later.
-
- 11 May, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 17 Apr, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 09 Apr, 2017 2 commits
-
-
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.
-
Benno Schulenberg authored
To make dynamic Home and End work properly when double-width characters straddle a chunk boundary, use the spot where the cursor is really shown instead of the "actual x" position of the current character, because the latter might be on the preceding row. This fixes https://savannah.gnu.org/bugs/?50737.
-