Go to file
Benno Schulenberg e1c6ae7cf3 justify: keep the cursor at the original end of a marked region
When justifying a region that was marked backwards, the cursor
should stay at the beginning of this region.  The old logic was
faulty because mark_is_before_cursor() does not give the correct
result *after* the justification has been done: for some reason
the mark ends up always before the cursor.

Bug existed since version 5.2, commit 0f8423eb,
which mistakenly removed the auxiliary variable.  :/
2024-03-19 16:45:02 +01:00
doc docs: use a space after #, like everywhere else in the sample nanorc 2024-03-10 17:32:09 +01: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 2023-01-18 09:52:50 +01:00
src justify: keep the cursor at the original end of a marked region 2024-03-19 16:45:02 +01:00
syntax syntax: javascript: recognize also the .mjs extension 2024-02-20 17:00:48 +01:00
.gitignore tweaks: drop obsolete 'nano.spec' from .gitignore file, and reshuffle 2020-06-15 19:11:45 +02:00
AUTHORS tweaks: attribute some of the features that were added in the last years 2022-11-11 16:39:34 +01:00
autogen.sh gnulib: import canonicalize-lgpl for realpath 2024-01-12 16:59:40 +01:00
ChangeLog docs: trim stuff that is more than five years old from the changelog 2024-03-09 17:18:04 +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 copyright: update the years for the FSF 2024-01-10 11:24:28 +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 7.0 release 2022-11-15 11:17:34 +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 7.2 release 2023-01-18 09:07:41 +01:00
README docs: adjust an example help line in the README to the current state 2024-03-08 17:12:28 +01:00
README.hacking docs: rename README.GIT to README.hacking, so it's clearer what is meant 2022-06-12 17:29:32 +02:00
roll-a-release.sh bump version numbers and add a news item for the 7.2 release 2023-01-18 09:07:41 +01:00
THANKS docs: say thanks to the Albanian translator 2022-12-09 11:58:07 +01: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

Purpose

    Nano is a small and simple text editor for use on the terminal.
    It copied the interface and key bindings of the Pico editor but
    added several missing features: undo/redo, syntax highlighting,
    line numbers, softwrapping, multiple buffers, selecting text by
    holding Shift, search-and-replace with regular expressions, and
    several other conveniences.

Appearance

    In rough ASCII graphics, this is what nano's screen looks like:

   ____________________________________________________________________
  |  GNU nano 7.2                  filename                  Modified  |
   --------------------------------------------------------------------
  | This is the text window, displaying the contents of a 'buffer',    |
  | the contents of the file you are editing.                          |
  |                                                                    |
  | The top row of the screen is the 'title bar'; it shows nano's      |
  | version, the name of the file, and whether you modified it.        |
  | The two bottom rows display the most important shortcuts; in       |
  | those lines ^ means Ctrl.  The third row from the bottom shows     |
  | some feedback message, or gets replaced with a prompt bar when     |
  | you tell nano to do something that requires extra input.           |
  |                                                                    |
   --------------------------------------------------------------------
  |                       [ Some status message ]                      |
  |^G Help       ^O Write Out  ^F Where Is   ^K Cut        ^T Execute  |
  |^X Exit       ^R Read File  ^\ Replace    ^U Paste      ^J Justify  |
   --------------------------------------------------------------------

Origin

    The nano project was started in 1999 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/.

License

    Nano's code and documentation are covered by the GPL version 3 or
    (at your option) any later version, except for two functions that
    were copied from busybox which are under a BSD license.  Nano's
    documentation is additionally covered by the GNU Free Documentation
    License version 1.2 or (at your option) any later version.  See the
    files COPYING and COPYING.DOC for the full text of these licenses.

    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.

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 issue tracker: https://savannah.gnu.org/bugs/?group=nano
    (you will need an account to be able to do so), or send an email
    to the nano-devel list (no need to subscribe, but mention it if
    you want to be CC'ed on an answer).