1
1
nano – text editor (GPL license) https://www.nano-editor.org
Перейти к файлу
Benno Schulenberg 588022ab8c editing: prevent the pointer for the top row from becoming dangling
When undoing several actions, it is possible for the line at the top
of the screen to be removed, leaving 'edittop' pointing to a structure
that has been freed.  Soon after, 'edittop' is referenced to determine
whether the cursor is offscreen...  Prevent this invalid reference by
stepping 'edittop' one line back in that special case.  This changes
the normal centering behavior of Undo when the cursor goes offscreen,
but... so be it.

When a single node is deleted, it is always possible to step one line
back, because a buffer contains always at least one line (even though
maybe empty), so if the current line could be deleted, there must be
one before it (when at the top of the screen).

This fixes https://savannah.gnu.org/bugs/?60436.

Bug existed since version 2.3.3, commit 60815461,
since undoing does not always center the cursor.
2021-04-23 09:35:12 +02:00
doc options: retire the obsolete 'smooth', 'morespace', and 'nopauses' 2021-04-15 11:43:39 +02:00
m4 tweaks: delete another pointless ChangeLog 2020-03-26 13:17:41 +01:00
po po: update translations and regenerate POT file and PO files 2021-03-03 10:11:58 +01:00
src editing: prevent the pointer for the top row from becoming dangling 2021-04-23 09:35:12 +02:00
syntax tweaks: reshuffle a comment, and put the main extension first 2021-04-05 16:06:54 +02:00
.gitignore tweaks: drop obsolete 'nano.spec' from .gitignore file, and reshuffle 2020-06-15 19:11:45 +02:00
AUTHORS docs: note Marco as the original author of the bookmarking code 2020-04-16 11:05:14 +02:00
autogen.sh gnulib: update to its current upstream state 2021-02-23 09:53:17 +01:00
ChangeLog bump version numbers and add a news item for the 5.6.1 release 2021-03-03 09:47:41 +01:00
ChangeLog.1999-2006 tweaks: for each version, mention the changes to the PO files last 2020-03-26 12:18:22 +01:00
ChangeLog.2007-2015 tweaks: fix twenty typos, in old Changelogs and in some comments 2020-03-25 16:57:43 +01:00
configure.ac bump version numbers and add a news item for the 5.6.1 release 2021-03-03 09:47:41 +01:00
COPYING convert to GPLv3 or later 2007-08-11 05:17:36 +00:00
COPYING.DOC convert documentation to GPLv3/GFDLv1.2 2007-08-23 04:34:35 +00:00
IMPROVEMENTS bump version numbers and add a news item for the 5.6 release 2021-02-24 09:23:50 +01:00
Makefile.am build: stop distributing the README.GIT file 2020-08-24 09:29:05 +02:00
nano-regress 2014-05-29 Chris Allegretta <chrisa@asty.org> 2014-05-29 18:30:23 +00:00
NEWS bump version numbers and add a news item for the 5.6.1 release 2021-03-03 09:47:41 +01:00
README tweaks: condense the description of how to report a bug 2020-12-25 16:45:31 +01:00
README.GIT docs: adjust for the changed name of the header-file package on Debian 2020-10-11 16:44:40 +02:00
roll-a-release.sh bump version numbers and add a news item for the 5.6.1 release 2021-03-03 09:47:41 +01:00
THANKS tweaks: sort three translator names better 2019-06-06 15:22:02 +02:00
TODO docs: reduce the TODO file to a reference to the bug tracker on Savannah 2020-03-26 19:27:46 +01:00

          GNU nano -- a simple editor, inspired by Pico

Overview

    The nano project was started because of a few "problems" with the
    wonderfully easy-to-use and friendly Pico text editor.

    First and foremost was its license: the Pine suite does not use
    the GPL, and (before using the Apache License) it had unclear
    restrictions on redistribution.  Because of this, Pine and Pico
    were not included in many GNU/Linux distributions.  Furthermore,
    some features (like go-to-line-number or search-and-replace) were
    unavailable for a long time or require a command-line flag.  Yuck.

    Nano aimed to solve these problems by: 1) being truly free software
    by using the GPL, 2) emulating the functionality of Pico as closely
    as is reasonable, and 3) including extra functionality by default.

    Nowadays, nano wants to be a generally useful editor with sensible
    defaults (linewise scrolling, no automatic line breaking).

    The nano editor is an official GNU package.  For more information on
    GNU and the Free Software Foundation, please see https://www.gnu.org/.

How to compile and install nano

    Download the latest nano source tarball, and then:

        tar -xvf nano-x.y.tar.gz
        cd nano-x.y
        ./configure
        make
        make install

    You will need the header files of ncurses installed for ./configure
    to succeed -- get them from libncurses-dev (Debian) or ncurses-devel
    (Fedora) or a similarly named package.  Use --prefix with ./configure
    to override the default installation directory of /usr/local.

    After installation you may want to copy the doc/sample.nanorc file
    to your home directory, rename it to ".nanorc", and then edit it
    according to your taste.

Web Page

    https://nano-editor.org/

Mailing Lists

    There are three nano-related mailing-lists.

    + info-nano@gnu.org is a very low traffic list used to announce
      new nano versions or other important info about the project.

    + help-nano@gnu.org is for those seeking to get help without
      wanting to hear about the technical details of its development.

    + nano-devel@gnu.org is the list used by the people that make nano
      and a general development discussion list, with moderate traffic.

    To subscribe, send email to <name>-request@gnu.org with a subject
    of "subscribe", where <name> is the list you want to subscribe to.

    The archives of the development and help mailing lists are here:

        https://lists.gnu.org/archive/html/nano-devel/
        https://lists.gnu.org/archive/html/help-nano/

Bug Reports

    If you find a bug, please file a detailed description of the problem
    on nano's bug tracker: https://savannah.gnu.org/bugs/?group=nano.

Copyright Years

    When in any file of this package a copyright notice mentions a
    year range (such as 1999-2011), it is a shorthand for a list of
    all the years in that interval.