nano, but smaller
 
 
 
 
 
Go to file
David Lawrence Ramsey 8490f4acab softwrap: make the changes to actually allow the chunk width to vary
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.
2017-07-07 13:07:10 +02:00
doc docs: mention that boldtext can be overridden also for function tags 2017-07-07 10:27:18 +02:00
m4 drop the glib fallback for snprintf/vsnprintf 2017-03-06 12:01:17 +01:00
po po: regenerate POT file and PO files 2017-06-25 11:09:38 +02:00
src softwrap: make the changes to actually allow the chunk width to vary 2017-07-07 13:07:10 +02:00
syntax docs: remove the mention of backslashes for the argument of 'comment' 2017-07-07 10:15:17 +02:00
.gitignore add support for gnulib 2017-03-06 11:56:02 +01:00
AUTHORS docs: update the list of who authored what 2017-04-25 20:32:05 +02: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
ChangeLog bump version numbers and add a news item for the 2.8.5 release 2017-06-25 10:37:17 +02:00
ChangeLog.1999-2006 tweaks: fix some inconsistencies in an old Changelog 2017-04-07 21:22:55 +02:00
ChangeLog.2007-2015 docs: rename the Changelogs to indicate which periods they cover 2017-01-04 16:01:50 +01:00
IMPROVEMENTS docs: update the list of who authored what 2017-04-25 20:32:05 +02:00
Makefile.am add support for gnulib 2017-03-06 11:56:02 +01:00
NEWS tweaks: spell an option correctly in NEWS 2017-06-29 10:59:05 +02:00
README copyright: update the years, use ranges, and explain this usage 2017-04-09 12:09:23 +02:00
README.GIT docs: update README.GIT for gnulib-related changes 2017-03-26 12:54:57 +02:00
THANKS restore the GNU marker in nano's name 2016-08-14 21:42:37 +02:00
TODO docs: update the list of who authored what 2017-04-25 20:32:05 +02:00
autogen.sh gnulib: update to its current state 2017-06-25 10:05:27 +02:00
configure.ac bump version numbers and add a news item for the 2.8.5 release 2017-06-25 10:37:17 +02:00
nano-regress 2014-05-29 Chris Allegretta <chrisa@asty.org> 2014-05-29 18:30:23 +00:00
nano.spec.in build: rename the sample config file, so it will be colored like a nanorc 2016-12-30 22:05:01 +01:00

README

		GNU nano -- an enhanced clone of the Pico text editor

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 or a GPL-friendly license, and has unclear restrictions on
	redistribution.  Because of this, Pine and Pico are not included
	with many GNU/Linux distributions.  Also, other features (like
	go-to-line-number or search-and-replace) were unavailable until
	recently or require a command-line flag.  Yuck.

	nano aims to solve these problems by emulating the functionality of
	Pico as closely as possible while addressing the problems above and
	providing other extra functionality.

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

How to compile and install nano

	Download the nano source code, then:

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

	It's that simple.  Use --prefix with configure to override the
	default installation directory of /usr/local.

	If you haven't configured with the --disable-nanorc option, 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.

Bug Reports

	To report a bug, please file a description of the problem on nano's
	bug tracker (https://savannah.gnu.org/bugs/?group=nano -- hover on
	"Bugs", then click "Submit new").  The issue may have already been
	reported, so please look first.

Current Status

	Since version 2.5.0, GNU nano has abandoned the distinction between
	a stable and a development branch: it is now on a "rolling" release
	-- fixing bugs and adding new features go hand in hand.

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.