- 25 Apr, 2017 1 commit
-
-
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>
-
- 19 Apr, 2017 2 commits
-
-
Benno Schulenberg authored
Call something a buffer when it refers to a linked list of linestructs, and call something a linestruct when it is a struct that describes a single line.
-
Benno Schulenberg authored
It takes almost no code and is a useful little improvement over Pico.
-
- 17 Apr, 2017 2 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
Because nothing gets reset to zero or to some initial value.
-
- 11 Apr, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 10 Apr, 2017 1 commit
-
-
David Lawrence Ramsey authored
-
- 09 Apr, 2017 1 commit
-
-
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 1 commit
-
-
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.
-
- 04 Apr, 2017 3 commits
-
-
Benno Schulenberg authored
Verify at startup that the number is not too small.
-
Benno Schulenberg authored
-
Benno Schulenberg authored
Rename some variables in the process, and remove two cluttering asserts.
-
- 29 Mar, 2017 2 commits
-
-
Benno Schulenberg authored
-
Benno Schulenberg authored
-
- 22 Mar, 2017 5 commits
-
-
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
Now that we can add text to the bottom right corner of the screen without scrolling the full line onscreen, do_output() needs to refresh the screen in that case, since it would put the cursor offscreen otherwise. Accomplish this by borrowing logic from do_right().
-
David Lawrence Ramsey authored
We want to be able to scroll the line at edittop partially off the screen. For this to be possible, the new variable firstcolumn stores the starting column of the viewport -- the starting column in the line that edittop points to. Since firstcolumn is used by go_back_chunks() and go_forward_chunks(), it can't be completely #ifdefed out when NANO_TINY is set, but outside of softwrap mode it should always be zero. Currently firstcolumn is initialized to zero, reset to zero when toggling softwrap mode off, and reset to zero when switching buffers while softwrap mode is off. It's otherwise unused, but its uses are forthcoming.
-
David Lawrence Ramsey authored
Since all lines can be partially scrolled off the screen now (except for the top line of the edit window, which is forthcoming), ensure_line_is_visible() is no longer needed.
-
David Lawrence Ramsey authored
Use go_back_chunks() and go_forward_chunks() to move from the row current_y is on to the row mouse_row is on. Now softwrap mode and non-softwrap mode will behave the same way when we can scroll edittop partially off the screen, which is forthcoming. Accordingly, remove the call to ensure_line_is_visible(), as it no longer applies. The old code did work, but it behaved differently between softwrap mode (which counted down from edittop) and non-softwrap mode (which counted up or down from current_y to take less time, and used a double loop to keep current from going to NULL). The new code counts up or down from current_y in both softwrap mode and non-softwrap mode. In non-softwrap mode, it also avoids the double loop, since go_back_chunks() and go_forward_chunks() keep the filestructs they operate on from going to NULL.
-
- 20 Mar, 2017 1 commit
-
-
Benno Schulenberg authored
Most of these variables are freed moments later -- reallocating them is thus a waste of time.
-
- 06 Mar, 2017 6 commits
-
-
David Lawrence Ramsey authored
It's already in the external documentation; it should be here as well.
-
Mike Frysinger authored
Windows doesn't have this, so add some build time checks.
-
Mike Frysinger authored
Pull in the sigaction module from gnulib, and add ifdef checks for a bunch of signals that don't exist on Windows.
-
Mike Frysinger authored
Not all curses implementations provide this function, so drop it from depending on slang (and assuming ncurses) to a general build time test.
-
Mike Frysinger authored
Now that we pull in the gnulib getopt-gnu module, we can assume it exists.
-
Mike Frysinger authored
Now that we pull in the gnulib regex module, we can assume it exists.
-
- 25 Feb, 2017 2 commits
-
-
Benno Schulenberg authored
Add its explanation as a separate paragraph. Also: improve the argument of the --syntax option, as this is a <name> and not merely a bundle of characters like the other <str> arguments.
-
David Lawrence Ramsey authored
-
- 24 Feb, 2017 1 commit
-
-
Benno Schulenberg authored
-
- 21 Feb, 2017 1 commit
-
-
Benno Schulenberg authored
Reflect the significant changes in painting and regex searching in the copyright notices.
-
- 17 Feb, 2017 2 commits
-
-
David Lawrence Ramsey authored
Later on we're going to need the ability to graft a buffer into the current file buffer without making a copy of it first.
-
David Lawrence Ramsey authored
The name "filestruct" was a mistake. What was meant was: buffer -- a linked list of structs that each describe a line.
-
- 13 Feb, 2017 2 commits
-
-
David Lawrence Ramsey authored
The previous code only directly refreshed the screen when the margin changed due to toggling line numbering on. When the margin changed due to toggling it off, it would indirectly refresh via do_toggle().
-
Benno Schulenberg authored
When replacements are made, nothing needs to be reset any more (it was done insufficiently anyway). Just make sure the screen is refreshed when all is done -- this may be superfluous when doing interactive replacements, but not when replacing all.
-
- 12 Feb, 2017 1 commit
-
-
David Lawrence Ramsey authored
These two functions unnecessarily copy make_new_node(); use that instead.
-
- 05 Feb, 2017 2 commits
-
-
David Lawrence Ramsey authored
Make it clearer we're comparing the number of rows, not string lengths.
-
David Lawrence Ramsey authored
-
- 19 Jan, 2017 1 commit
-
-
Benno Schulenberg authored
This fixes https://savannah.gnu.org/bugs/?50028.
-
- 08 Jan, 2017 1 commit
-
-
David Lawrence Ramsey authored
The setting of current_y in copy_from_filestruct() also appears to be a holdover from the days of a more-common STATIONARY scrolling mode. do_cut_text() uses the above function when copying text (uncutting text again right after cutting it). Since the text is effectively the same afterward, current_y doesn't need to change. do_uncut_text(), however, does need current_y up to date in one case: when uncutting a full screen or less' worth of lines, focusing will be FALSE, and it uses edit_refresh(), so it will use STATIONARY scrolling mode then. Take a cue from do_insertfile() and call reset_cursor() to get an updated current_y. (Note that the check for a full screen or less' worth of lines uses incorrect values when in softwrap mode, but that's a separate problem.) undo_cut(), do_redo(), and backup_lines() do not need set current_y because they all result in edit_refresh() with focusing = TRUE, so they do a CENTERING scroll which does not need current_y.
-
- 03 Jan, 2017 1 commit
-
-
Benno Schulenberg authored
This fixes https://savannah.gnu.org/bugs/?49824.
-