- 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.
-
- 07 Apr, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 29 Mar, 2017 3 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
-
Benno Schulenberg authored
-
- 28 Mar, 2017 4 commits
-
-
David Lawrence Ramsey authored
The change in commit 244a503d for the <Up> and <Down> keys needs to be done for <PageUp> and <PageDown> too.
-
Benno Schulenberg authored
-
Benno Schulenberg authored
-
Benno Schulenberg authored
The complementary test on current_y should only be done when doing a scroll-only, because only then the prior line can be offscreen. This fixes https://savannah.gnu.org/bugs/?50658 . Reported-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
- 27 Mar, 2017 4 commits
-
-
Benno Schulenberg authored
When scrolling backward, it is not just the bottom line of the screen that doesn't need to be redrawn: also the line /before/ the top line doesn't need a redraw. Mutatis mutandis for scrolling forward. This fixes https://savannah.gnu.org/bugs/?50657.
-
Benno Schulenberg authored
When determining the leftedge of the current chunk, it is not simply the leftedge that corresponds to the placewewant, but the leftedge that corresponds to the minimum of the placewewant and the full line span. This fixes https://savannah.gnu.org/bugs/?50653.
-
Benno Schulenberg authored
-
David Lawrence Ramsey authored
When typing PageUp or PageDOwn in non-smooth-scrolling mode, the cursor should be placed at the start of the top line of the edit window. This means that, when the line at edittop is partially scrolled offscreen, the cursor should be placed at openfile->firstcolumn, not at zero. This fixes https://savannah.gnu.org/bugs/?50645 . Reported-by:
David Lawrence Ramsey <pooka109@gmail.com>
-
- 22 Mar, 2017 1 commit
-
-
David Lawrence Ramsey authored
In do_up() when scroll_only is TRUE, if we're at the top of the screen in softwrap mode, it's not enough to check that edittop is on fileage. We also need to check that firstcolumn is zero. In do_up() when scroll_only is FALSE, if we're at the top of the screen in softwrap mode, current_y should be zero. This is equivalent to how, in do_down() when scroll_only is FALSE, current_y is (editwinrows - 1) at the bottom of the screen in softwrap mode. Since edittop can now be partially scrolled off the screen even when it takes up the entire screen, checking for edittop's being equal to openfile->current->next there no longer applies.
-