nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 374216fe229f05757b39c478688afcacc4365cc6
parent fc6ef3e1e8aa24f676b412ead5d9301f4f40bb8d
Author: Chris Allegretta <chrisa@asty.org>
Date:   Mon,  4 Jan 2010 19:00:55 +0000

2010-01-04 Chris Allegretta <chrisa@asty.org>
        * winio.c: edit_update, edit_redraw - Fix search not scrolling to the middle of the screen 
          (reported by alpha@qzx.com) and places where we rely on maxrows but should not.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4471 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 4++++
Msrc/winio.c | 12++++++------
2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,7 @@ +2010-01-04 Chris Allegretta <chrisa@asty.org> + * winio.c: edit_update, edit_redraw - Fix search not scrolling to the middle of the screen + (reported by alpha@qzx.com) and places where we rely on maxrows but should not. + 2009-12-26 Jordi Mallach <jordi@gnu.org> * doc/man/nano.1: Avoid a groff warning by prepending a zero-width space to a line starting with '. diff --git a/src/winio.c b/src/winio.c @@ -2935,7 +2935,7 @@ bool need_vertical_update(size_t pww_save) } /* When edittop changes, try and figure out how many lines - * we really have to work with (i.e. set maxrows) + * we really have to work with (i.e. set maxrows) */ void compute_maxrows(void) { @@ -3160,7 +3160,7 @@ void edit_redraw(filestruct *old_current, size_t pww_save) /* Put edittop in range of current, get the difference in lines * between the original edittop and the current edittop, and * then restore the original edittop. */ - edit_update(NONE); + edit_update(CENTER); nlines = openfile->edittop->lineno - old_edittop->lineno; @@ -3239,7 +3239,7 @@ void edit_refresh(void) /* Put the top line of the edit window in range of the current * line. */ - edit_update(NONE); + edit_update(CENTER); } foo = openfile->edittop; @@ -3279,13 +3279,13 @@ void edit_update(update_type location) * screen as before, or at the top or bottom of the screen if * edittop is beyond either. */ if (location == CENTER) - goal = maxrows / 2; + goal = editwinrows / 2; else { goal = openfile->current_y; /* Limit goal to (editwinrows - 1) lines maximum. */ - if (goal > maxrows - 1) - goal = maxrows - 1; + if (goal > editwinrows - 1) + goal = editwinrows - 1; } for (; goal > 0 && foo->prev != NULL; goal--) {