preserve placewewant as well as current_x, for compatibility with Pico
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1982 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
NANO_SMALL #ifdef, since the tiny version of nano doesn't support
reverse searching; also, turn the USE_REGEXP flag off during spell
checking in order to avoid a potential segfault
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1979 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
matches not found inside the marked text; this makes marked spell
checking when using the internal spell checker work as expected, and
also allows replacing only marked text when the mark is on
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1978 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
and current_x to current_x_save, only turn the mark off and call
edit_refresh() if the mark was originally on, and make length_change a
ssize_t
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1977 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
browsed to into ans, put back Enter, and show the prompt one last time
so that it's exited properly and the cursor position at the statusbar is
reset
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1967 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
backupstring to answer, so that we can preserve the text of the
statusbar when switching to the search prompt from the "Go To Line"
prompt; also, set backupstring before doing anything else, add one minor
efficiency tweak, and preserve the text of the statusbar no matter what
when switching from the search prompt to the "Go To Line" prompt, since
the toggling works both ways now and non-numeric text shouldn't be lost
when going only one of those ways
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1965 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
displaying "Switched to" messages on the statusbar; also do a few more
int -> bool conversions
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1959 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
format flags (DOS_FILE and MAC_FILE) to match, and preserve them across
multiple file buffers
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1958 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
whether it's in "Execute Command" mode; also add continue and goto to
the "c-file" regexes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1955 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
and Meta-J back in the shortcut list since Meta-G is used in the file
browser and not as a toggle, tweak nanogetstr() and statusq() so that
resetstatuspos can be reduced to a static bool, change the names of some
keys to be more consistent, and add the ^R^X^X and ^W^T^T shortcuts
(note that the latter doesn't preserve the contents of the statusbar yet
when ^T is pressed at the "Go To Line" prompt), and add a few other
miscellaneous tweaks
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1954 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
list is apparently to only allow meta shortcuts as toggles, so only
allow the meta shortcuts for searching for the beginning and end of the
paragraph and justifying the entire file to go in the main list
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1949 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
ssize_t's for consistency, and add a few minor cosmetic fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1938 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
problem of meta sequences' sometimes being interpreted as printable
characters when they shouldn't be
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1937 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
aliases for moving to the beginning and end of a paragraph and
justifying the entire file, and make those aliases available in the main
shortcut list too, since Pico's practice of putting them in the search
menu is rather odd
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1934 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
in punct if that character is the same as the one before it
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1933 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
the fourth parameter to default to "no" (since it apparently only occurs
on glibc 2.2.3-based systems) so that cross-compiling will work
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1929 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
remove ugly workarounds for most cases of edittop's or current's being
NULL (as those cases no longer occur due to the overhaul), and remove
detection of binary files (since it wasn't always accurate and will only
cause problems when UTF-8 support is added); also add a few minor fixes
of mine
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1928 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
findnextstr(), and make findnextstr() maintain the value of current_y
too
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1918 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
is on so that smooth scrolling applies everywhere instead of just to the
movement functions, fix a potential infinite loop when edit_update() is
called with NONE and current_y is greater than (editwinrows - 1), and
have do_para_begin() and do_para_end() maintain current_y as
do_justify() does (and as they did before)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1917 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
again, and properly handle the case of whereis_list's being longer than
MAIN_VISIBLE as bottombars() does
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1913 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
that parsing the numeric argument after "tabsize" works properly again
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1909 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
routines to fix a few fundamental problems and limitations; also add
getline() and getdelim() equivalents adapted from GNU mailutils 0.5 (and
tweaked to better integrate with nano), since the patch uses getline()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1900 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
--disable-wrapping, --disable-justify, or a combination of the two
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1897 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
titlebar() call after them, so that the titlebar is displayed properly
for all file(s) loaded; also add missing int -> bool conversion
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1888 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
open_pipe()'s failure is handled properly again, and add various
#ifdefs to fix a few warnings and compilation problems that occur when
everything is enabled manually including NANO_SMALL
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1886 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
efficiency tweaks, and fix a few minor bugs in help_init() where "Up"
and "Space" might not be displayed properly and the help browser
wouldn't work if fewer than 24 columns were available
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1885 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
-fwritable-strings option is used, which were part of his last patch to
convert more translated strings to use N_()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1884 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
so that numeric values will be preserved when switching to the "Go To
Line" prompt again
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1881 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
them bools in the process, and make a few other minor cosmetic cleanups
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1880 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
HAVE_REGEX_H wasn't set, and don't treat the return values of the string
comparison functions as boolean anymore
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1877 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
for each separate error, make sure all the messages end in newlines,
etc.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1876 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
do_gotoline(), and DB's efficiency tweaks to do_gotopos()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1875 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
justify code, as it makes some code much more understandable and fixes a
bug where searching for the previous paragraph would move the cursor too
high in one case
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1873 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
of placewewant when a new match is found, so that edit_redraw() will
redraw the screen properly when only placewewant changes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1872 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
into a new terminal_init() function, and convert nano to use it; also,
when reloading the newly spell-checked temporary file in
do_alt_speller(), call terminal_init() to make sure that all the
original terminal settings are restored, as a curses-based alternative
spell checker (e.g. aspell) can change them
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1866 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
outside the ENABLE_NLS #ifdef, since UTF-8 support (specifically, the
wide character handling functions it needs) won't work properly if the
locale isn't set, whether NLS is enabled or not
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1865 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
importantly, a fix for a segfault when trying to full-justify a file
with no paragraphs)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1862 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
per DB's patch, and make a few more minor cosmetic cleanups
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1857 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
in the main input loop to the top, and remove the apparently unneeded
wrefresh() call in the main input loop
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1855 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
changes of mine, and add a few related variable type changes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1853 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
macro to mark strings that aren't translated immediately and convert
nano to use it where needed, overhaul the shortcut list and toggle list
initialization code for efficiency, and replace rcfile_msg() with
rcfile_error(); also add a few minor miscellaneous cleanups by DB and
myself
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1852 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
completion at the "Write File" prompt, since we can't change the
filename in that case; also remove an unneeded trailing space
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1842 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
indicate when we've moved to the next line after justifying the current
line, and only run the respacing routine when it's true; this keeps the
respacing routine from erroneously being run more than once on the same
line
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1840 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
moved to the current line and the next line has been deleted, continue
the justification loop from there and skip the respacing routine in
order to avoid running it more than once on the same line (since it
assumes that we've moved to the next line, which isn't true in that
case)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1839 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
newly created files 666 instead of 600 before it's modified by the
umask; also add a few more minor comment fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1838 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
functions and most related functions to return void instead of int, as
the return values of all those functions are essentially unused; also
add a few related miscellaneous cleanups
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1836 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
getting statusbar input for efficiency, and update bottomwin just before
then too
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1833 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
fix some inaccuracies and eliminate the need for recursion; it now uses
almost the same logic as the code to search for the end of a paragraph,
which makes it somewhat easier to understand
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1823 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
that full justification doesn't erroneously justify non-paragraph lines
in the file
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1815 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
of DB's do_wrap() tweaks (the initialization of new_line_wrap to 0), and
wrap a few overly long comments
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1813 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
sequence for F3 on the FreeBSD console wasn't interpreted properly
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1812 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
problems if the original paragraph was one line long and ended with a
tab or tabs; unjustification would restore the justify_format()ted line
instead of the original line
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1806 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
when NANO_SMALL is defined or KEY_RESIZE isn't, and when PDCURSES isn't
defined
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1802 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
escape sequence that is recognized but which should be ignored
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1801 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
slang; instead, explicitly turn the cursor off where we need to
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1798 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
we're not on the same page as before, not just in the former case
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1796 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
some ints to size_t's and convert the int wrapping to use TRUE and FALSE
since it's used as a boolean)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1793 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
whitespace display, is specified in the rcfile), whitespace display
should be on by default
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1791 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
rcopts[i].name's being "tabsize" (to avoid a spurious error under some
circumstances about tabsize's being 0 when there's no tabsize entry in
the rcfile)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1785 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
displaying other characters, specified in the rcfile, for the first
characters of tabs and spaces
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1782 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
cut.c instead of a flag, and unset it in other files via the new
function cutbuffer_reset()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1781 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
alternative spell checker if we're in restricted mode, since both
backups and spell checking are disabled then
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1777 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
TRUE (and hence no longer take a namechange parameter itself) to fix a
bug where writing a selection would change the current filename, and
make die_save_file() do the same since we don't need to change the
current filename if we're writing emergency backup files
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1770 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
calls to finish() set sigage to anything other than 0 or use its return
value
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1766 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
handle shorter screen widths better and display the filename using
display_string(), my strnlen() equivalent so the new titlebar() will
work on systems without strnlen(), and a few of DB's other minor changes
to make other display-related functions handle shorter screen widths
better, among other things
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1754 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
disable_signals() doesn't take up much space and we need one fewer slang
workaround that way
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1748 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
messages in xlcredits[] after they're initialized in order to avoid an
error when compiling with -pedantic
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1746 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
per DB's patch, and simplify an if statement in do_justify()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1742 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
at the command line even if multibuffer mode isn't turned on
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1740 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
greater readability, and remove unnecessary inclusion of stdio.h in the
slang tests
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1732 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
space) all over the code, properly detect whether we have strcasestr()
and only use nstristr() if we don't, and bump up CVS build requirements
to account for setting _GNU_SOURCE when running the test programs for
both
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1730 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
and convert REGEXP_COMPILED to a static int in search.c, since it's only
used there
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1724 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
from taking an argument in milliseconds instead of microseconds) and
curses includes it
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1719 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
hold lengths, and use a properly cast nrealloc() instead of an uncast
realloc() in the former
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1717 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
keypad on in a window before that window's initialized (oddly, ncurses
didn't segfault on the latter, but slang did)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1701 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Meta-P was being interpreted as such even when it was used for the
Prepend toggle at the writeout prompt
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1694 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
and make sure statusbar input handles both them and NANO_HELP_FKEY
properly
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1682 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
(according to comments, including floss.h in nano.h does work)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1681 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
{}'s to sunder() and unsunder() to make them a bit easier to read
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1662 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
changes, plus a few minor search and display fixes of mine
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1660 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
again; a tweak to the ISSET() macro in 1.3.0 to make it only return 0 or
1 broke it
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1647 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
verbatim input, and fix backwards _POSIX_VDISABLE #ifdefs so that raw()
and cbreak() are called properly in get_verbatim_kbinput()
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1640 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
bit of xterm weirdness, and update a few keypad-related comments
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1637 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
(and resurrect abcd() to make that job easier), additional comments, and
a few minor cosmetic cleanups
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1632 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
document the changes to the latter (in write_file() and do_writeout())
in the Changelog; I stupidly forgot to do this before
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1626 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
properly paint multi-line color regexes when COLOR_SYNTAX is set
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1621 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
minor comment tweaks so that all the source files are covered)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1613 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
just the zero-length ones; this fixes multiple replaces occurring with
them in conjunction with "*"
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1608 35c25a1d-7b9e-4130-9fde-d3aeb78583b8