* new linter functionality. rcfile option "linter"
* src/global.c (shortcut_init) - Actually free the sclist
if it was allocated before.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4600 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/nano.c (copy_from_filestruct) - Check explicitly for mark being set when
trying to partition, as we shouldn't be messing with the x address, etc.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4585 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/winio.c (set_modified) - Check for a filename before we bother trying to lock
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4584 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/texinfo/nano.texi - Change '@sp4' since makeinfo 5.1 hates the
lack of spacing. Fixes Savannah bug 40103 repored by flapane@Savannah.
Also change SVN status to non-binary so diffs work.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4583 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/global.c (strtokeytype) - Check for lower-case 'f' for defining F-key
sequences for consistency (previously was two checks for upper case F). Fixes
bug 40815 reported by David Binderman <dcb314@Savannah>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4581 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/global.c (first_sc_for) - try and more consistently display keystrokes,
useful when the user has re-binded a bunch of them.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4579 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
a marked file (especially that would give it the wrong stat info). Part
2 of issue reported by Benno Schulenberg.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4575 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/files.c (do_insertfile): Check for saved cursor position when inserting a
file as well. Fixes Savannah bug 38600 reported by Craig Barnes.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4574 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Revert r4547 as we should have a new release and the overlap code is not yet
ready for public consumption.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4569 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac: Make ncurses checking to set $LIBS and check the ncursesw lib
actually works before defaulting to it over ncurses! Shock!
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4567 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
whether their target system support GNU-style word boundaries or not.
Originally reported by dave festing.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4566 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/text.c (do_histify): Don't allow sigwinch to be received while justifying
as that puts us into a wacky state. Fixess crash on justify by Joshua Rogers.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4565 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac: Make ncursesw checking dependent on the presence of ncursesw.h,
since without the header files we can't compile.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4564 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/utils.c (parse_num): Initalize errno before calling strtol(). Fixes issue
where trying to go to a line number too long will break legitimate goto-lines
for the remainder of the editing session, reported by Joshua Rogers.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4563 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac: Check for ncursesw5-config and base $CPPFLAGS based on it.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4562 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac, src/nano.h: Make search for ncursesw more generalized.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4561 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/*: Introduce (basic) vim-style file locks. Does not allow vim to recover
our files, and doesn't yet support setting the file as modified; just lets a
vim user know we're editing a file. Commands line "-G" or "--locking", nanorc
option "locking". New functions src/files.c:do_lockfile(), write_lockfile(),
and delete_lockfile().
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4549 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* src/*: Fix overlapping strings highlighting each other. new variables in edit_draw
(slmatcharray, pbegin, paintok), new logic (with repeated setting od values in the
array but its BFI after all). FIXME: Need to create a new 'overlap'
* src/*: Fix a silly issue with the argument to nregcomp, as it's confusing to the caller
* src/nano.h: Change the color types to a compiler macro (COLORWIDTH), may not actually
even be worth doing, but someday who knows how wide a color curses implementation might
be, and maybe we'll even start checking for it in autoconf!
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4547 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* text.c (do_enter): Only increment totsize by the auto-indented amount, size the previous line's size was
already counted. Fixes bug reported by Robert Spanjaard.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4544 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/syntax/Makefile.am: Finally get around to sorting the syntax file list
2011-05-08 Matthew Wild <mattj100@Savannah>
* doc/syntax/spec.nanorc: New lua syntax highlighting config
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4543 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* po/*: Sync latest translation fixes, add an update_linguas.sh script. Rename
existing update.pl to update_sources.pl to make it more specific.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4541 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* color.c (color_update): Add check for whether the file even exists
before we try to run the magic check on it. Fixes error messages to stderr
when reading in files that don't exist, reported by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4540 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* color.c (color_update): Remove unneeded debugging message from
libmagic commit. Fixed extra messages going to stderr reported by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4539 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Change RAW in function_type enum to RAWINPUT, to fix compilation on AIX,
reported by Richard G Daniel <skunk@iskunk.org>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4535 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Fix some more severe warnings from 'g++ -pedantic', from patch originally
by Eitan Adler <lists@eitanadler.com>
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4534 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* color.c (nfreeregex): Fix that we were trying to set the pointer passed by value
to NULL. Fixes crashes on file save reported by Ken Tyler and Matthieu Lejeune.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4532 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
so do_research will succeed without needing to manually load the last seach in. Fixes
bug reported by Matt "ML" at gmail.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4531 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* New saved cursor position history option. Command line option -P or --poslog, rc file
entry "poslog". Search history changes to ~/.nano/search_history, cursor position log
is ~/.nano/filepos_history. Added checks to move the legacy .nano_history file to the new
location. Several new functions to files.c: load_poshistory(), save_poshistory(),
check_poshistory(), update_poshistory(), and reworking of histfilename(). New FAQ entry
4.15 discussing the change and offering an interoperability workaround.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4530 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Initial libmagic implementation, adapted from Eitan Adler <eitanadlerlist@gmail.com>.
New nanorc entry "magic" to enable this functionality, nanorc file and man page updates.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4528 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This does add 20KB to nano's executable size but it gets rid of a lot of indirection
that makes people stomach turn. There are several new stub functions and need of more
tidying as a result of this.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4527 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (write_file) - Fix problems with writing the backup file (albeit interactively)
with new function prompt_failed_backupwrite(), allows more secure handling of problems
with failing to write the backup file compared to 'allow_insecure_backup'.
* winio.c (edit_redraw): Removed unused variable
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4526 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Add a section to the FAQ about using nanorc on Win32 systems.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4522 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* Add check for RESTRICTED mode back to speller, suspend and insert file
routines, since adding key bindings broke the fact that they should be
disabled in restricted mode. Fixes Savannah bug 31625 reported by
Charlie Somerville.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4519 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* New option allow_insecure_backup, allows the previous security
fixes for backup files to be overridden if you're really positive
you want to. Fixes Savannah bug 29732 by Brian Szymanski <skibrianski>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4508 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (write_file): Don't even try to chown() the backup
file unless we're root, since it's probably going to fail if
we're editing a file we don't own. Fixes Savannah bug
29514: [nano 2.2.2] backup should ignore chown errors.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4507 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/man/nano.1,nanorc.5: Remove the backup file warnings now
that a sufficient security fix exists for the backup file code.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4502 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (wirte_file): Don't set current_stat when tmp == TRUE, check
whether current_stat is set when trying to use it, and don't do the
modification check if the filename changed, since we have no way
of knowing about it in that case. Fixes Savannah bug 29392, reported
by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4500 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* text.c (do_alt_speller): Skip invoking the alt speller if the file size
is 0 bytes. Fixes Savannah bug 29393 reported by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4499 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (do_writeout): Better security fixes for backup file writing,
mangled from submission by Dan Rosenberg <dan.j.rosenberg at gmail>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4496 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (do_writeout): Previous fixes should not cause a crash
when saving a new file. Discovered by Mike Frysinger <vapier@gentoo.org>.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4494 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/man/nano.1,nanorc.5: Add warnings about using backup
mode as root due to the Dan Rosenberg security analysis.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4493 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (do_writeout): Expand modification check to include both the
original file's device ID and inode number as reasons to warn the
user that the file has been modified. Based on security article on nano
by Dan Rosenberg.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4490 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* nano.c (page_stdin et al): Don't attempt to reset/reopen the terminal
settings when reading stdin if it was aborted with SIGINT. May fix Savannah
bug 29114 reported by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4489 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* doc/syntax/c.nanorc: Add additional support for #include_next and #pragma
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4488 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
smooth scroll mode, as previous fixes would otherwise cause the cursor to not
really be moved to the stop of the screen.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4485 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* configure.ac, nano.c (handle_sigwinch): Create check for whether LINES and
COLS can safely be redefined. Fixes compilation issues with cygwin, and likely
with newer versions of ncurses, fixes Savannah bug 28984 repoted by Andy Koppe
and Eric Oliver via mailing list.
* winio.c (get_mouseinput) - fix stray semicolon in code, also reported in
bug 28984.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4484 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* move.c (do_page_up, do_page_down): Fix for smooth mode not preserving cusor
position. Part one of fix for Savannah bug 21178 by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4481 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* files.c (do_writeout): Fix for crash / incorrect external modification warning
due to earlier fix in r4467.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4474 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
* move.c (do_page_up, do_page_down): Fix issues with not enough scrolling down/up
and cursor centering.
* winio.c (edit_scroll): Remove lots of needless checking of line length for
soft wrapping code.
* winio.c (edit_update) - Remove extra code for when updating with old_current outside
of the new buffer boundary and centering issues.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4473 35c25a1d-7b9e-4130-9fde-d3aeb78583b8