figure out if we need to bail and call edit_refresh().
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4406 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Fix more soft wrapping issues, particularly with soft scrolling,
discovered by Hannes <mr_creosote@mutantwatch.de>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4405 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Fix issue with soft wrapping not displaying the last character of each line,
fixed bug discovered by Hannes <mr_creosote@mutantwatch.de>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4404 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Initial soft line wrapping implementation. Command line flags
-$ or --softwrap.
* nano.c, text.c: Clean up some fprintf warnings in debug mode due to printing
a size_t without using the zd specifier.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4402 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* New global flag implementation courtesy of Adam Wysocki <gophi@arcabit.pl>, allows
previous undo flag to be implemented consistent with other flags.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4400 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* text.c (undo_cut, redo_cut): Don't actually try and undo/redo an empty cut, i.e. the magicline.
Fixes crash on cutting last line discovered by Eitan Adler <eitanadlerlist@gmail.com>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4397 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* nano-regress: Small tweaks
* Change undo code to off unless unabled via a command line option (-u/--undo). Until this code
stabilizes this is the only responsible way to treat it.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4395 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* TODO - Break out some targets for various features into 2.2
and 2.4 series for things which are feasible.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4388 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac: Add check for whether _XOPEN_SOURCE_EXTENDED is needed for
curses to work w/color. Fixes compilation on HP-UX with older GCC,
reported by jay.krell@cornell.edu.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4387 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/man/Makefile.am: Fix make variable substitution to be more portable
2009-02-23 Chris Allegretta <chrisa@asty.org>
* doc/man/fr/Makefile.am: Add groff check fix to fr files.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4386 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* rcfile.c (parse_keybinding) - Define a var before tryung to use it. Whoops!
* fix some redefinitions causing compiler warnings, from Eitan Adler. Other
(hopefully) fixes for uncasted malloc()s, reported by the same.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4385 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
for things like deleting text. Will have to go back and force inside functions.
Add check in reset_multis for CNONE type since that's slowing us down and is dumb
to leave out.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4379 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Add new argument to reset_multis for force redraws without attempting to
guess whether we need to, force updates when running a non-viewok function.
New utility function color.c:reset_multis_for_id(). Fixes e.g. incorrect
highlighting when cutting text.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4378 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac, doc/man/Makefile.am - Add check for HTML output support in GNU
groff. Fixes Savannah bug #24461: build traps on groff. Also, add installation
of html-ized man pages to $datadir/nano/man-html, since we should probably
install files we went to all the trouble of generating.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4377 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* nano.c (precalc_multicolorinfo) - Add debugging so we have a better clue if further
issues arise. Also start at the beginning of later lines when trying to match the
end of a multi-line regex. Fixes more overly aggressive highlighting found by
Mike Frysinger. Finally, advance to the match end for performance.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4376 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* nanorc.c (parse_include): Do call real_dir_from_tilde() on included
files in .nanorc, but still avoiding bug #25297. Fixes ~ and ~user
specifications for nanorc include files, as reported by Eitan Adler.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4375 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* New option -q, --quiet, rcfile option "quiet" implemented. Skips printing
errors about the rcfile and asking user to press enter. Also, nano should
now only ask for one enter press when there is an error when not using -q.
Based on discussion between Eitan Adler and Mike Frysinger.
* rcfile.c (parse_keybinding) - Significant cleanups and fixes for
detecting and reporting errors in key bindings code.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4374 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
syntax highlting is now too *un*ambitious, causing display glitches when
deleting a regex boundary.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4373 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Add more multidata initliazers for new buffers and 'magic lines'. Fixes segfaults
with syntax highlighting in new buffers, initially reported by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4372 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* rcfile.c (parse_include): Abort on being unable to open an included rcfile. Fixes
Savannah bug 25490, nanorc: "include"ing a file which doesn't exist causes nano to segfault.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4365 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* More color syntax speedups: Determine in reset_multis() whether we really need to call
edit_refresh(). Additional global var edit_refresh_needed() to hopefully reduce
repeated calls to the function. New helper funcs reset_multis_before() and
reset_multis_after().
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4364 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* nano.c (main): Add support for nano acting like a pager when invoked with - as first
file argument. Not yet perfect (garbles screen state on exit) but it's something.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4356 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/syntax/gentoo.nanorc: Updates from David and Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4355 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (open_file), nanorc.c (parse_include): Don't get_full_path on
included rc files, due to it potentially impacting the ability
to read files in nano's cwd(). Fixes Savnanah bug #25297 reported by Mike
Frysinger)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4353 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
multi-line regexes but this may not be enough to increase performance.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4351 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Add interruptability to search functions. New functions enable_nodelay and
disable_nodelay and changes to the routines to handle checking for pending
searches. Fixes Savnnah bug 24946: Need interrrupt for search.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4350 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Change funcion definitions to shorts instead of (void *)s. New mapping function
iso_me_harder_funcmap(). Fixes compilation complaints with -pedantic,
reported by Eitan Adler <eitanadlerlist@gmail.com>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4349 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (do_writeout): Add check for file modification when saving
the file so the user can at least know they may be blowing away changes.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4344 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Remove CUTTOEND as an undo type as it's unneeded, fix u->to_end logic in undo struct.
* undo.c (update_undo): Don't free cutbuffer if NULL, fix for Savannah bug #24499
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4339 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* cut.c (Add_undo): Save last cut undo information so it can be used for next uncut, fixes
Savannah bug 24183.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4338 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* python.nanorc, ruby.nanorc: Add header lines for python and ruby as well
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4329 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* rcfile.c, color.c, nano.h: Add new capability for matching a syntax type by the "header" (1st line)
of a file being edited. Based on Savannah bug 24197 and inital proof of concept by Dave Geering
<dgeering@toshiba-tap.com>
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4328 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* text.c: Add support for undoing a text uncut. Split out the undo and redo of a text cut
in order to avoid code duplication.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4327 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
issues with --disable-help, especially that do-writeout was treating ^G the same as ^M.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4317 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac, color.c, rcfile.c, utils.c: 1st attempt at supporting systems which don't support
GNU-style word boundaries. New function fixbounds() to translate from GNU-style to
BSD-style, autoconf option GNU_WORDBOUNDS.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4315 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac, rcfile.c: Add support for an alternate rcfilename at configure time. Maybe this
should become a command line option some day, but I don't see the need currently. Start of
fix for Savannah bug #24128: Add nanorc support to win32 platform.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4314 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* text.c: Change error messages where we may possibly get into a bad state and urge
the user to save when this happens. Originally by Benno Schulenberg <bensberg@justemail.net>
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4308 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
happily report successful fwrite()s until you try and close the file. Fix for Savannah bug
#24000: no free space on partition - nano claims successful write - file empty
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4304 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
mistakenly think this is an update when it's really an add. Also
Fix an extra ; after an if statement which makes nano try to free a struct which
may be NULL
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4296 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/nanorc.sample.in: Include the updates files in the default sample nanorc.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4279 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* nano.c: Don't include langinfo.h if not using ENABLE_UTF8
(Savannah patch 6565)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4277 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Fix break_line crashing when using certain locales from Mitsuya Shibata
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4272 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Add debian nanorc example
Fix that previous entries as well as new one need Makefile.am entries
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4245 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
first line message help, and comments to assist translators.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4236 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
and toggles and sc for shortcut keys, old 'shortcut' and 'toggles' structs are
gone. The current implementation has a bunch of broken stuff (some of which is
documented in BUGS). Updated nanorc.5 with some mostly complete documentation
on configuring.
Part 2 of commit since I accidentally did it in src/ the first time. Yeah,
welcome back bonehead.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4216 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
are placed properly when displaying translated strings in UTF-8, as
found by Jean-Philippe Guérard
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4208 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
doesn't make the binary very much smaller, especially when --enable-tiny
is used
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4203 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
disable_signals() after executing the command, as the command may have
changed the terminal settings
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4201 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Thijs Kinkhorst's copyrights have now been assigned to the Free Software
Foundation
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4188 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
statusbar prompt text wouldn't be recognized unless the NO_HELP flag was
turned off
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4187 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
mouse support on or off, save and restore the mouse click interval
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4186 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
after reset_(statusbar_)?cursor() calls, to ensure that the cursor is
placed properly when using NetBSD curses
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4185 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
doc/man/fr/nanorc.5, fix copyright notices; the copyrights are
disclaimed on these translations, but the copyrights of the untranslated
works also apply
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4181 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
trigger on carriage returns in the middle of files, as found by Kjell
Braden
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4179 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
invalid line or column number, per Mike Melanson's suggestion
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4177 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
filenames if the cursor isn't at the end of the line, as it can lead to
odd behavior (e.g. adding a copy of the entire match to the middle of
the line instead of just the uncompleted part of the match)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4176 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
assigned to the Free Software Foundation; also, make copyright notices
consistent in style
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4173 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
properly if you paged up with the first line of the file onscreen and
the mark on
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4170 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
consistent, and in rnano.1, add missing copyright notice from
nano-tiny.1, which rnano.1 is based on
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4160 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
text with the mark on by properly preserving the beginning of the mark;
also, make sure the mark is always properly positioned after uncutting
one line of text with the mark on
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4141 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
mbrevstrcasestr(), simplify and rewrite to use strncasecmp()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4131 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
characters with multibyte ones could result in openfile->totsize's being
miscalculated
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4130 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
simplify by using for loops instead of while loops where possible, to
match the single-byte versions of these functions
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4127 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
mbrevstrcasestr(), for efficiency, return haystack immediately if needle
is blank
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4122 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
oddly, ncurses built without --enable-ext-mouse needs this, but ncurses
built with --enable-ext-mouse doesn't
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4112 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
write selections to files, so don't display the "Write Selection to
File" prompt
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4092 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
tweaks of mine, to explain how autoindent affects pasted text
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4084 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
names that began with "~", but that weren't users' home directories,
could be erroneously treated as users' home directories (e.g. "~d/"
would be treated as "~daemon/")
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4074 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
names that begin with "~", but that aren't users' home directories
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4072 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
doc/syntax/asm.nanorc, doc/syntax/c.nanorc, and doc/syntax/sh.nanorc,
copy the regex that highlights trailing whitespace from
doc/syntax/java.nanorc to these files, as it's also useful in them
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4071 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
-S/--smooth command line option in order to differentiate it from the
associated toggle description
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4063 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
shortcut descriptions so that they use "Go to" instead of "Move to",
since not all of them move the cursor in the same way; and reword the
paragraph movement shortcut descriptions to more accurately describe how
they work
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4062 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
checkout instructions aren't only available in its CVS snapshots
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4045 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
write_(marked_)?file(), use the "?" operator instead of an if/else
clause
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4033 35c25a1d-7b9e-4130-9fde-d3aeb78583b8