Commit Graph

403 Commits (769a0e661f2f9f438396e68c6fd8ce19cc51edb1)

Author SHA1 Message Date
Hans-Bernhard Broeker 636b7348a6 tweaks: make sure calls to <ctype.h> functions/macros use "unsigned char"
The platform's default char type might be signed, which could cause
problems in 8-bit locales.

This addresses https://savannah.gnu.org/bugs/?50289.
Reported-by: Hans-Bernhard Broeker <HBBroeker@T-Online.de>
2017-03-06 20:58:25 +01:00
Mike Frysinger 3deec4352b assume regex.h support is always available
Now that we pull in the gnulib regex module, we can assume it exists.
2017-03-06 12:01:08 +01:00
Benno Schulenberg de36e1c120 tweaks: rename a variable, to be more general 2017-02-16 13:27:09 +01:00
Benno Schulenberg a8c1dc1402 rcfile: don't accept empty regexes for syntax coloring
As a small service to the user, reject empty regex strings,
because an entirely empty regex simply doesn't make sense.

Inspired-by: Elia Geretto <elia.f.geretto@gmail.com>
2017-02-16 13:25:38 +01:00
Benno Schulenberg eca6faee5b tweaks: free an option string also when it was invalid 2017-01-11 09:49:24 +01:00
Benno Schulenberg ecccb8d027 tweaks: correct the wording of a string 2016-12-07 21:06:05 +01:00
Benno Schulenberg c1a484270b rcfile: actually avoid opening directories and devices
Achieve this elegantly by factoring out the reading of one rcfile.
2016-11-27 18:21:04 +01:00
Benno Schulenberg 981a1d39bf tweaks: factor out a small function 2016-11-27 17:30:53 +01:00
Benno Schulenberg 925a001658 rcfile: check the vital shortcuts just once, not for every included file 2016-11-27 16:40:54 +01:00
Benno Schulenberg 77023a749b tweaks: remove an annoying conditional compilation of an argument
Also remove some unneeded prototypes, adjust some comments, and
move a constant definition to the top of the file.
2016-11-27 16:34:34 +01:00
Benno Schulenberg 1762920808 rcfile: actually don't try to open things that cannot be syntax files 2016-11-26 17:48:31 +01:00
Benno Schulenberg 281a56fb74 tweaks: reshuffle some things in a more linear manner
Also improve or correct some comments.
2016-11-26 17:42:27 +01:00
Benno Schulenberg 65bf36baa5 rcfile: let a 'set fill' reenable hardwrapping
Otherwise the user can override a 'set nowrap' in /etc/nanorc only
via the command line.

This fixes https://savannah.gnu.org/bugs/?49593 reported by Shirish.
2016-11-13 19:47:15 +01:00
Benno Schulenberg de2aa4f24a rcfile: add an option to customize the color of line numbers 2016-10-20 16:48:45 +02:00
Faissal Bensefia de95ca68f7 new feature: the ability to show line numbers before the text
It can be activated with --linenumbers on the command line or with
'set linenumbers' in a nanorc file, and it can be toggled with M-#.

Signed-off-by: Faissal Bensefia <faissaloo@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2016-10-20 16:47:52 +02:00
Benno Schulenberg 55878efe5d binding: supply the keycode for most special keys directly
Instead of figuring them out from the string.  This is possible
because those dedicated editing keys cannot be rebound anyway.
2016-10-18 20:38:27 +02:00
Rishabh Dave 01bf034bb6 rcfile: reject rebindings that have no effect or have side effects
Also, show in green only the ^ and M- combinations that are valid.

This fixes https://savannah.gnu.org/bugs/?49097.

Signed-off-by: Rishabh Dave <rishabhddave@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2016-10-11 19:46:18 +02:00
Rishabh Dave e2027aee15 rcfile: reject key names that are wrong or too long
Meta keys should have a dash as second character, and apart from ^Space
and M-Space key names should be at most two or three characters long.

This fixes https://savannah.gnu.org/bugs/?44688.

Reviewed-by: Benno Schulenberg <bensberg@justemail.net>
Signed-off-by: Rishabh Dave <rishabhddave@gmail.com>
2016-09-14 19:53:38 +02:00
Benno Schulenberg 08cd197bf1 general: include word-jumping and block-jumping into the tiny version
And also case-sensitive searches, backward searches, and searching again.
2016-09-13 09:27:04 +02:00
Benno Schulenberg b92d35d1f2 browser: add the option showcursor, to place the cursor on the highlight
This lets users of braille displays find the selected item immediately.

This fulfills a request by Enrico Mioso.
See https://lists.gnu.org/archive/html/nano-devel/2016-09/msg00025.html.
2016-09-11 09:41:52 +02:00
Benno Schulenberg 7b7d2bf7c9 tweaks: make tiny nano a teeny bit smaller 2016-09-02 12:01:03 +02:00
Benno Schulenberg 514cd9a099 update the license text to the preferred version
Mentioning "GNU nano" instead of "This program" and referring to the
website instead of to a postal address.
2016-08-29 21:27:16 +02:00
Benno Schulenberg 406e5242a3 update the copyright notices 2016-08-29 21:27:05 +02:00
Benno Schulenberg 1c9ab8bf16 tweaks: rename a struct element, to be more fitting
The keycode is not a sequence; it is a single integer value.
2016-07-30 12:24:35 +02:00
Benno Schulenberg e295070193 shortcuts: group the setting of key string and keycode into one function
And instead of using two key types, just use a bool to indicate whether
a keystroke involves Meta.
2016-07-30 12:21:42 +02:00
Benno Schulenberg 5b0ab8be62 shortcuts: remove any unnecessary classifying of keys
After initialization, the type of a key is never used nor needed
(other than for meta keys).
2016-07-30 12:13:47 +02:00
Benno Schulenberg 1e5614b31b tweaks: avoid two compiler warnings 2016-07-22 15:48:06 +02:00
Benno Schulenberg 6f12992cea new feature: add the option --wordchars, to set extra word characters
This allows the user to specify which other characters, besides the
default alphanumeric ones, should be considered as part of a word, so
that word operations like Ctrl+Left and Ctrl+Right will pass them by.

Using this option overrides the option --wordbounds.

This fulfills https://savannah.gnu.org/bugs/?47283.
2016-07-13 20:49:30 +02:00
Benno Schulenberg d88423eaae tweaks: move a debug statement to its proper place, and improve aspect 2016-07-13 20:48:03 +02:00
Mike Scalora 6a2032f5b0 new feature: comment/uncomment current line or selected lines
This allows for commenting or uncommenting a line or a bunch of lines
with a single keystroke (default binding: M-3).  The characters used
for commenting/uncommenting are specified by the active syntax file.

Reviewed-by: Benno Schulenberg <bensberg@justemail.net>
Signed-off-by: Mike Scalora <mike@scalora.org>
2016-05-25 22:29:50 +02:00
Benno Schulenberg cdcd365d34 tweaks: normalize some whitespace 2016-05-17 11:33:21 +02:00
Benno Schulenberg f1b9ba2781 rcfile: make an error message equal to another, and more informative 2016-05-04 10:22:28 +02:00
Benno Schulenberg 9330aa60a5 rcfile: disallow 'bind' and 'unbind' in an included file
Included files are meant to contain only syntax definitions; they may
not set or unset options, nor rebind keys, nor include other files.

This fixes https://savannah.gnu.org/bugs/?47391.
2016-04-27 10:07:45 +02:00
Benno Schulenberg d92eb4fee3 all: eradicate SVN's $Id$ tags 2016-04-05 14:59:12 +02:00
Benno Schulenberg 2f817a6740 Checking for the existence of the REG_ENHANCED regex flag, and
using it when it's available (which it is on OS X systems).
This completes the fix for Savannah bug #47325.
Patch by Thomas Rosenau.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5759 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-22 10:42:28 +00:00
Benno Schulenberg 8866f728a2 Rearranging some things to reduce the indentation level by four steps,
so we can unwrap a dozen lines.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5737 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-14 17:14:35 +00:00
Benno Schulenberg 7070812004 Making an error message equal to others, to reduce the msgid count.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5736 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-14 16:09:52 +00:00
Benno Schulenberg 8fbb922868 Renaming a variable, from 'endcolor' to 'lastcolor', to fully avoid
the idea that it might have something to do with 'end_regex'.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5733 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-13 20:05:36 +00:00
Benno Schulenberg 6ed6462154 Combining the regular-expression flags at compile time instead of at run time.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5732 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-13 19:37:21 +00:00
Benno Schulenberg 63d59656d3 Refinding the tail of the colors list only when extending,
not for every added color, thus saving some 15 microseconds.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5729 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-12 11:15:12 +00:00
Benno Schulenberg f72e16502e Renaming a variable.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5728 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-12 10:21:02 +00:00
Benno Schulenberg fa82824a59 Reducing the indentation by short-circuiting a loop.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5727 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-12 09:52:16 +00:00
Benno Schulenberg 3cb80ff7ea Renaming two functions, to be more distinguishable --
a leading underscore as the only difference is not enough.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5726 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-12 09:43:10 +00:00
Benno Schulenberg 1786484486 Fixing compilation when configured with --enable-tiny plus --enable-nanorc.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5722 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-11 17:14:30 +00:00
Benno Schulenberg d08d72a05d Checking for an open syntax first, before checking it is named "default".
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5721 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-11 16:51:15 +00:00
Benno Schulenberg 6e37723fbe Eliding a variable.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5720 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-11 16:45:00 +00:00
Benno Schulenberg b8aae4d872 Tweaking some comments and reshuffling/reindenting some lines.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5719 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-11 16:39:27 +00:00
Benno Schulenberg 8a5ae2130b Renaming a variable to better fit its new role.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5717 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-10 20:36:12 +00:00
Benno Schulenberg 04262f09a4 Turning the linked list of syntaxes upside-down, so that the last-defined one
comes first, so that a search can stop at the first match instead of always
having to run through the entire list.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5716 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-10 20:06:01 +00:00
Benno Schulenberg ed296525f4 Eliding the functions parse_header_exp() and parse_magic_exp(),
and reshuffling the parameters in grab_and_store().


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5715 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-10 11:00:59 +00:00
Benno Schulenberg 837b4e66e2 Folding the parsing of a linter and formatter command into a single routine.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5714 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-10 10:36:49 +00:00
Benno Schulenberg 2994ea9d02 Not accepting 'header" and 'magic' commands for the default syntax.
This fixes Savannah bug #47323.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5713 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-10 09:46:21 +00:00
Benno Schulenberg 2f63e8dfc1 Using the grab_and_store() function also for gathering up extension regexes.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5712 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-09 21:00:42 +00:00
Benno Schulenberg b0bdfbb0f7 Producing an adequate error message when the syntax name is improperly quoted.
This fixes Savannah bug #47324.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5711 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-09 20:28:50 +00:00
Benno Schulenberg 6a4d3aad80 Tweaking a few things and renaming a variable.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5710 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-04 20:50:38 +00:00
Benno Schulenberg c02c182bd7 Deleting a now-unused struct member.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5707 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-04 17:04:56 +00:00
Benno Schulenberg 3df1a3f0f4 Not bothering to discard a duplicate syntax -- selecting simply the
last-defined one.  This addresses Savannah bug #47303.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5704 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-03-01 11:06:00 +00:00
Benno Schulenberg e39423b49d Fixing breakage of r5695 -- I confused nregcomp() with regcomp(). :(
Hhrr...  Names that don't seem to differ...


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5702 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-29 15:40:13 +00:00
Benno Schulenberg 04669b5635 Renaming a variable and reshuffling a few lines.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5701 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-29 12:17:53 +00:00
Benno Schulenberg 85e166b0f2 "Closing" an extended syntax again, to prevent sneakily extending
the last-defined syntax.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5700 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-29 12:04:22 +00:00
Benno Schulenberg 773fc447df Arranging some things more orderly.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5699 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-29 10:54:48 +00:00
Benno Schulenberg 717e697e0b Not allocating a struct for the "none" syntax -- it doesn't need any.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5698 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-29 10:29:52 +00:00
Benno Schulenberg a24aee417d Renaming a struct member.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5697 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-29 09:17:03 +00:00
Benno Schulenberg 275e9f0092 Disallowing the addition of further things to a syntax when
an rcfile ends or when an invalid syntax command is found.
This fixes Savannah bug #47207


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5696 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-28 20:38:14 +00:00
Benno Schulenberg 68d94a0c74 Rearranging a few things in my style.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5695 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-28 17:16:39 +00:00
Benno Schulenberg 07f71e6c1a Not dropping regexes that were gathered earlier.
This fixes Savannah bug #47285.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5694 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-28 16:36:23 +00:00
Benno Schulenberg c2148cc902 Renaming a variable and fusing an increment.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5693 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-28 15:47:37 +00:00
Benno Schulenberg 1fba31e7b5 Using the now correct parsing of header regexes also for parsing magic regexes.
This fixes Savannah bug #47292.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5692 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-28 15:16:27 +00:00
Benno Schulenberg 3e7591f534 Not continuing when something is wrong, but instead skipping the rest of
the line.  This fixes Savannah bug #47289.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5691 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-28 11:04:36 +00:00
Benno Schulenberg 07441adb14 Renaming another struct element, because it refers not just
to file extensions, but also to header lines and magic strings.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5690 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-26 20:19:13 +00:00
Benno Schulenberg 3522751c6b Renaming a struct element for aptness and contrast.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5689 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-26 20:09:29 +00:00
Chris Allegretta 9f98333dce Call kill_spaces_on_justify justifytrim, to match the rest of rcfile naming conventions.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5679 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-25 21:04:45 +00:00
Chris Allegretta 0dec394303 Make that kill_spaces_on_justify, add hilighting.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5665 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-22 15:23:57 +00:00
Chris Allegretta 6a0ae5aaa2 2016-02-22 Chris Allegretta <chrisa@asty.org>
* Add ability to kill the trailing spaces when justifying
        code.  New nanorc option kill_spaces_on_wrap, we'll see
        whether this warrants a command line flahg or not.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5664 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-22 15:10:32 +00:00
Benno Schulenberg 14d1b3bd36 Allowing only control sequences in the proper range to be rebound.
This fixes Savannah bug #47025.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5625 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-10 15:06:45 +00:00
Benno Schulenberg 6829241433 Removing the --nofollow option that hasn't been working for a dozen years.
With this option, nano would simply refuse to write to any symlinked file;
if anyone really used this option, they would certainly have complained.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5608 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-02-06 10:59:31 +00:00
Benno Schulenberg 63370954bd Showing a key only when it was rebound.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5562 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-01-14 14:44:11 +00:00
Benno Schulenberg 33fb1746dd Eliding an unneeded function.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5561 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2016-01-14 14:34:05 +00:00
Benno Schulenberg eac0446c86 Fixing compilation with --enable-tiny: file formats don't exist then.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5349 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-08-09 16:31:01 +00:00
Benno Schulenberg 70cbbda87c Adding the option --unix (and 'set unix'),
to save a file by default in Unix format.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5342 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-08-04 18:49:57 +00:00
Benno Schulenberg 95e1f55574 Plugging a tiny leak.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5341 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-08-03 19:52:48 +00:00
Benno Schulenberg 3d2784e113 Checking the value of shortcut->toggle only if it actually is a toggle.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5339 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-08-03 08:03:22 +00:00
Benno Schulenberg 474b390816 Plugging a few memory leaks.
Patch by Mike Frysinger.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5314 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-07-22 18:02:36 +00:00
Benno Schulenberg 1f866c29db Renaming the 'menu' item to 'menus' in the shortcut struct.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5301 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-07-15 20:13:05 +00:00
Benno Schulenberg cadb4f3689 Unabbreviating the long option --poslog to --positionlog.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5300 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-07-15 19:50:55 +00:00
Benno Schulenberg 79526151d5 Unabbreviating the long option --const to --constantshow.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5299 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-07-15 19:40:37 +00:00
Benno Schulenberg 5ac6a87522 Giving each toggle a sequence number, to be able to show them in a fixed order.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5282 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-07-06 17:51:17 +00:00
Benno Schulenberg 4499520c03 Removing the obsolete long option --undo, and sorting some things.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5265 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-06-20 18:48:43 +00:00
Benno Schulenberg 7c2f53b2a9 Allowing a tiny nano to enable search and position histories.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5256 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-06-18 18:51:27 +00:00
Benno Schulenberg c32a58a826 Not checking for non-NULL before freeing a variable, as it's unnecessary.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5249 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-06-14 19:14:41 +00:00
Benno Schulenberg 1cf9deb603 Using mallocstrcpy() in a correct manner and
not letting it free an unrelated string.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5193 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-04-12 11:15:57 +00:00
Benno Schulenberg d7ade1f346 Ignoring magic without libmagic, and ignoring formatter without spell checking.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5175 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-04-03 17:28:30 +00:00
Benno Schulenberg de53c53c6e Removing two superfluous #ifndefs.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5174 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-04-03 15:57:22 +00:00
Benno Schulenberg 79ff393dc2 Fixing the rebinding of toggles.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5134 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-03-08 15:42:52 +00:00
Chris Allegretta 184cf609c0 2015-02-25 Chris Allegretta <chrisa@asty.org>
* src/rcfile.c (parse_binding): Add exception for do_toggle as
        rebinding toggles broke with r5022.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5124 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-02-25 19:04:53 +00:00
Chris Allegretta 4b3f2771b5 2015-01-03 Chris Allegretta <chrisa@asty.org>
* New formatter code to support syntaxes like
        go which have tools to automatically lint and reformat the text for
        you (gofmt), which is lovely.  rcfile option formatter, function
        text.c:do_formatter() and some other calls.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5100 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2015-01-03 07:24:17 +00:00
Benno Schulenberg 6f28d35eef Fixing compilation with --enable-tiny --enable-nanorc.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5035 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-29 09:33:51 +00:00
Benno Schulenberg 4651f49fca Allowing only those menus where the bound function is actually present,
when rebinding keys.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5022 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-27 16:14:52 +00:00
Benno Schulenberg 492e9f605b Miscellaneous whitespace adjustments and comment tweaks.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4995 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-20 10:48:26 +00:00
Benno Schulenberg b341f29cbd Transform many DISABLE_NANORC #ifdefs to the new DISABLE_HISTORIES.
This completes the fix for Savannah bug #42539.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4989 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-19 20:05:24 +00:00
Benno Schulenberg 336d1b8902 Renaming 'function_type' to 'key_type', for clarity.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4983 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-18 20:43:05 +00:00
Benno Schulenberg 736fbf2e3f Removing the --undo option, having the undo functions always enabled.
If wished, the user can unbind them.  This fixes Savannah bug #42456.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4964 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-13 15:20:26 +00:00
Benno Schulenberg 7d5f42ca08 Using the right type to avoid a compiler warning.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4955 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-10 19:50:44 +00:00
Benno Schulenberg ed0086bde5 Eliding four function calls by not comparing with an
empty string but checking for the terminating '\0'.
Patch by David Lawrence Ramsey.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4949 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-06-09 14:33:00 +00:00
Benno Schulenberg 044e4d2ae0 A few more comment tweaks.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4878 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-13 21:11:59 +00:00
Benno Schulenberg 71c9a5245a Several random whitespace and comment tweaks.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4874 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-13 20:14:01 +00:00
Benno Schulenberg 111071af05 Improving another error message.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4868 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-13 08:34:29 +00:00
Benno Schulenberg d2f3f2194e Moving parse_magic_exp() next to its sister.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4865 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-12 19:57:12 +00:00
Benno Schulenberg 1d5134d93e Renaming the struct type 'exttype' to 'regexlisttype', and upon exit
also freeing the regexes for libmagic results and headerlines.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4862 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-12 14:31:54 +00:00
Benno Schulenberg cf4f80da9a Renaming and symmetrifying two functions, and improving some comments.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4861 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-12 13:52:50 +00:00
Benno Schulenberg 8e01293b34 Handling the libmagic and headerline regexes in the same manner.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4860 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-12 12:57:00 +00:00
Benno Schulenberg 07f14de995 Improving some comments, and removing some mispasted or superfluous ones.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4858 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-12 12:11:24 +00:00
Chris Allegretta 61523be8d2 2014-05-10 Chris Allegretta <chrisa@asty.org>
* src/rcfile.c (parse_color_names): Redefine false and true to
          their appropriate macro names so --with-slang works (slangv2 anyway).
        * src/text.c (do_linter): Care about whether user cancelled the file
          save (cancel the operation) versus justy said no (continue but don't
          save the file).  Also doupdate() after statusbar message that
          linter is being invoked and blank the shortcuts to draw the eye.
          Also allow user to cancel at the "open in a new buffer" prompt.
          New function lint_cleanup().  Fixes Savannah bug 42203.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4855 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-11 03:09:00 +00:00
Benno Schulenberg 1663994e42 Adding the ability to colour four elements of nano's interface differently.
Idea and original patch by Mark Majeres.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4827 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-05-03 18:24:45 +00:00
Benno Schulenberg 7a9f4a456e Update the years in the copyright notices.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4826 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-30 20:18:26 +00:00
Benno Schulenberg 20011f4d41 Plugging two tiny memory leaks. Patch essentially by Mark Majeres.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4819 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-27 11:29:50 +00:00
Benno Schulenberg e15abc9c1e Improving two error messages, and complaining about
wrong menu names after wrong function names.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4799 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-21 18:12:29 +00:00
Benno Schulenberg 94b1d01bb4 Allowing the codes from Ins and Del keys to be rebound.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4798 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-21 18:05:11 +00:00
Benno Schulenberg ac9973658a Remove recognition of K-keys.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4797 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-21 17:47:16 +00:00
Benno Schulenberg 27a52a8def Avoiding three compiler warnings with --enable-debug.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4794 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-21 13:07:18 +00:00
Benno Schulenberg 8f6151198a Whitespace adjustments, plus a few comment tweaks.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4769 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-14 09:57:06 +00:00
Benno Schulenberg eea0908236 Converting #ifdef ENABLE_NANORC to #ifndef DISABLE_NANORC.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4765 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-13 20:50:20 +00:00
Benno Schulenberg 1f934e3a8b Removing unused parameter 'menu' from strtosc().
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4758 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-13 11:56:08 +00:00
Benno Schulenberg d19be5aafa More editing of comment blocks and trimming of blank lines.
Patch by David Lawrence Ramsey, slightly tweaked.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4753 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-08 18:38:45 +00:00
Benno Schulenberg de597bce92 Correcting two comments, and tweaking two others.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4751 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-08 13:27:32 +00:00
Benno Schulenberg f7c5eeed2d Uppercasing only the first two or three characters of a key name,
in order to preserve ^Space and M-Space, so these can be unbound.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4747 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-08 11:43:50 +00:00
Benno Schulenberg 2cdaaacb19 Melting the binding and unbinding code into a single function.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4746 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-08 11:22:41 +00:00
Benno Schulenberg 7f40bdfc15 Improve the layout of the fatal error message.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4745 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-07 20:47:26 +00:00
Benno Schulenberg 2f00c9da83 Do not speak of "flags", but only of "options".
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4744 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-07 20:38:29 +00:00
Benno Schulenberg a2dcd6edce Dropping the obsolete argument of shortcut_init(),
and removing two unneeded calls of this function.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4740 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-07 09:24:10 +00:00
Benno Schulenberg 00389928d4 Converting #ifdef ENABLE_COLOR to #ifndef DISABLE_COLOR.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4719 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-04 11:59:03 +00:00
Benno Schulenberg 7a254dd1fe Making sure the user sees a fatal-error message.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4717 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-04 08:38:20 +00:00
Benno Schulenberg 0636d7b797 Converting #ifdef ENABLE_MULTIBUFFER to #ifndef DISABLE_MULTIBUFFER.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4712 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-04-03 20:23:07 +00:00
Benno Schulenberg 38142830c7 Supporting globs in include paths. Patch by Mike Frysinger.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4696 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-30 20:37:40 +00:00
Benno Schulenberg a997aa6d58 Allowing binding and unbinding of keys when colour is disabled.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4685 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-26 19:25:38 +00:00
Benno Schulenberg a166f702a0 Fixing compilation with --disable-color.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4684 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-26 19:20:41 +00:00
Benno Schulenberg 18c252d5e7 Printing menu numbers for debugging in hex.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4675 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-24 20:35:17 +00:00
Benno Schulenberg 52402756b0 Improving a debugging message, fixing a translator comment, and tweaking others.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4667 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-23 20:49:59 +00:00
Benno Schulenberg a65ef4244c Removing stray spaces before tabs.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4652 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-17 21:36:37 +00:00
Chris Allegretta e52eac51f5 2014-03-01 Chris Allegretta <chrisa@asty.org>
* global.c (shortcut_init) - fix an issue with the split
          do_research() setup when using --enable-tiny
        * rcfile.c (parse_linter) - Allow linter to be unset using ""
        * rcfile.c - Allow syntaxes to be extended via "extendsyntax"
          directive.  Color, header, magic and linter should all be
          able to be extended.  Man page updates for nanorc(5).
        * doc/nanorc.sample.in - Document 'set quiet'



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4630 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-03-02 05:27:56 +00:00
Benno Schulenberg fe267f61d9 Not just marking but actually translating a helpful message.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4626 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2014-02-28 19:47:48 +00:00
Chris Allegretta 5575bfad2c 2014-02-24 Chris Allegretta <chrisa@asty.org>
* 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
2014-02-24 10:18:15 +00:00
Chris Allegretta 22c83ec7af 2013-03-17 Chris Allegretta <chrisa@asty.org>
* 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
2013-03-17 22:09:38 +00:00
Chris Allegretta a016f00f14 2013-01-02 David Benjamin <davidben@Savannah>
* src/search.c (parse_syntax): Fix blatantly and dangerously incorrect  code for
          deleting old syntaxes.



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4560 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
2013-01-03 05:17:36 +00:00
Chris Allegretta bf88d27adc 2012-12-31 Chris Allegretta <chrisa@asty.org>
* 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
2013-01-01 03:24:39 +00:00
Chris Allegretta d84849ec12 2012-02-05 Chris Allegretta <chrisa@asty.org>
* 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
2012-02-06 01:10:45 +00:00
Chris Allegretta 8e2a930714 2011-02-18 Chris Allegretta <chrisa@asty.org>
* 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
2011-02-18 07:30:57 +00:00
Chris Allegretta b00d0b9c8c 2011-02-12 Chris Allegretta <chrisa@asty.org>
* 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
2011-02-13 04:23:10 +00:00
Chris Allegretta 637daa85c5 * src/*: Retire iso_me_harder_funcmap based on suggestion by <bernd.spaeth@gmx.net>
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
2011-02-07 14:45:56 +00:00
Chris Allegretta 0acca27ac7 2010-06-20 Chris Allegretta <chrisa@asty.org>
* 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
2010-06-21 03:10:10 +00:00