Benno Schulenberg
173bbe11ef
tweaks: add a few translator hints
2016-12-07 21:05:41 +01:00
Benno Schulenberg
7531b71fa1
docs: note Sumedh as the author of the word-completion feature
2016-12-07 21:05:23 +01:00
Benno Schulenberg
964c10db17
tweaks: miscellaneous frobbings and rewrappings
2016-12-07 20:37:08 +01:00
Benno Schulenberg
0e01080983
binding: allow to rebind the word-completion function, and document it
2016-12-07 17:18:56 +01:00
Benno Schulenberg
68a0314500
build: add configure option --disable-wordcomp to disable word completion
...
(The variable 'pletion_line' is not conditionalized with this option, as
it would become messy. The compiler will probably be able to elide it.)
When using --enable-tiny, it is not possible to use --enable-wordcomp,
because the word completion function uses the undo system.
2016-12-07 17:02:25 +01:00
Sumedh Pendurkar
dca4ab5d8f
new feature: complete a fragment to a longer word found in the buffer
...
Executing the 'complete_a_word' function will search from the start
of the current buffer for entire words that begin with the fragment
that is before the cursor, and will complete this fragment to the
first word that is found. Each consecutive call of 'complete_a_word'
will search for the next matching word and will complete the fragment
to that. By default the function is bound to the ^] keystroke.
Signed-off-by: Sumedh Pendurkar <sumedh.pendurkar@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2016-12-07 16:42:39 +01:00
Benno Schulenberg
86121cf3fc
tweaks: move a cursor-on switch to a more logical place (again)
...
But do it correctly this time: don't switch it on when replacing.
2016-12-05 15:47:44 +01:00
Benno Schulenberg
379b1556ed
prompt: remove two fragments of dead code
...
None of the prompts offer a total-refresh shortcut -- only the
edit window, the help viewer, and the file browser provide this.
2016-12-04 12:34:56 +01:00
Benno Schulenberg
bfcce57b69
screen: remove an unneeded blanking of the statusbar
...
It's redundant because the call of total_refresh() wipes everything.
2016-12-04 12:32:59 +01:00
Benno Schulenberg
4eac699df3
tweaks: remove some more annoying conditional compilation
2016-12-04 12:26:33 +01:00
Benno Schulenberg
454f5cbdce
tweaks: remove a superfluous cleanup call
...
At the very beginning of do_replace(), nothing has been changed
or initialized yet, so there is nothing to refresh or clean up.
2016-12-04 11:56:13 +01:00
Benno Schulenberg
248d7be8ef
build: clean out the revision.h file, to make 'make distcheck' pass
2016-12-04 11:21:10 +01:00
Benno Schulenberg
372bd0f7dd
screen: switch the cursor back on only in the main loop
...
This fixes https://savannah.gnu.org/bugs/?49750 .
2016-12-03 18:03:11 +01:00
Benno Schulenberg
f920e0d30c
tweaks: replace some unneeded direct calls of edit_refresh()
2016-12-03 17:00:28 +01:00
Benno Schulenberg
0f3e303d1a
tweaks: get rid of some spurious textual references to edit_refresh()
2016-12-02 18:13:10 +01:00
Benno Schulenberg
c9680b8b64
input: add the shifted PageUp and PageDown keycodes produced by VTE
...
Modern VTE-based terminals now produce codes for those keys and
no longer swallow them when nano is active.
This addresses https://savannah.gnu.org/bugs/?49746 .
2016-12-01 17:34:57 +01:00
Benno Schulenberg
656563beda
screen: don't restore the previous menu after a yesno prompt
...
There is no need for that -- it just causes flicker.
This fixes https://savannah.gnu.org/bugs/?49742 .
2016-12-01 15:54:56 +01:00
Benno Schulenberg
8f95f9b1aa
tweaks: reshuffle three initializations and trim some comments
2016-12-01 15:28:59 +01:00
Benno Schulenberg
c6512a9717
screen: don't request an update of the edit window for every yesno prompt
...
Only when doing replacements does the edit window need a refresh: for
every new spotlight. So, do the update request in the latter routine.
2016-12-01 15:20:05 +01:00
David Lawrence Ramsey
b5400ffe65
general: gettextize three overlooked statusbar messages
...
This fixes https://savannah.gnu.org/bugs/?48622 .
2016-12-01 13:02:43 +01:00
Benno Schulenberg
ac41587d4e
oops: the yesno prompt for replacing does not want a visible cursor
2016-11-30 13:47:50 +01:00
Benno Schulenberg
e4b8d6fab5
tweaks: remove a bit of obscuring conditional compilation
2016-11-30 11:46:05 +01:00
Benno Schulenberg
72e8bcb027
tweaks: move a switching on of the cursor to a more logical place
2016-11-30 11:11:06 +01:00
Benno Schulenberg
7401670d58
tweaks: fix compilation when configured with --enable-tiny
2016-11-30 11:05:07 +01:00
David Lawrence Ramsey
e4d452424b
files: give feedback when restricted mode prevents overwriting a file
...
Achieve this by reusing the code that gives feedback when trying to
save a buffer while using --tempfile and the file has no name yet.
This fixes https://savannah.gnu.org/bugs/?48622 .
2016-11-29 12:08:39 +01:00
David Lawrence Ramsey
d48071b2b2
input: properly check the full escape sequences for all keys
...
Also for Delete, End, PageUp and PageDown (on some terminals)
the last byte in the sequence needs to be checked.
This fixes https://savannah.gnu.org/bugs/?49710 .
2016-11-27 20:31:12 +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
592d0d6c9a
files: trying to open a non-existent file will never succeed
...
If it would, the returned file descriptor would make nano crash,
because the corresponding stream has not been opened. And when
returning zero instead (as the code did originally), nano would
open an empty buffer, although it claims to be reading the file.
In short: I think this is a leftover of an attempted fix of
https://savannah.gnu.org/bugs/?25297 , from commit 2823c99
.
2016-11-26 17:00:41 +01:00
Benno Schulenberg
3cc561e36e
input: distinguish <Shift+Home> from <Home> on an rxvt terminal
...
That is: when --rebindkeypad is in effect -- without this option
they were already getting distinguished.
2016-11-26 12:25:36 +01:00
Benno Schulenberg
0333b87ad7
input: distinguish <Alt+Left> from <Alt+Right> on an rxvt terminal
...
Both would jump a word to the left -- now each jumps a word in the
proper direction.
2016-11-26 12:07:33 +01:00
David Lawrence Ramsey
059c8efb44
input: make Shift+Alt+Arrow work properly on rxvt and Eterm terminals
...
This fixes https://savannah.gnu.org/bugs/?49636 .
2016-11-26 11:57:39 +01:00
Benno Schulenberg
eb5968f845
startup: activate restricted mode earlier, so --help will reflect it
...
Kind-of-discovered-by: Markus Bergholz <markuman@gmail.com>
2016-11-17 18:05:09 +01:00
Benno Schulenberg
f2c72bf759
binding: always initialize some keycode variables to a standard value
...
Also when somehow key_defined() is missing.
This fixes https://savannah.gnu.org/bugs/?49614 .
Reported-by: Mike Frysinger <vapier@gentoo.org>
2016-11-17 17:32:28 +01:00
Benno Schulenberg
ed165827bc
screen: don't hide the cursor when --constantshow is used
...
(Bug was introduced yesterday, by commit a4132e2.)
2016-11-13 20:00:31 +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
7598b77e75
screen: use the correct width to determine whether a softwrap occurred
...
This fixes the two bugs reported by Anton Minaev
in https://savannah.gnu.org/bugs/?49511 .
2016-11-13 19:20:38 +01:00
Benno Schulenberg
a4132e2e64
screen: do a refresh before changing the value of 'focusing'
...
This fixes https://savannah.gnu.org/bugs/?49530 .
2016-11-12 18:02:03 +01:00
Benno Schulenberg
33bc848c5b
binding: properly conditionalize the UTF-8 parts
...
Reported-by: Sumedh Pendurkar <sumedh.pendurkar@gmail.com>
2016-10-29 10:19:28 +02:00
Benno Schulenberg
4c476bc872
scrolling: use a comparison that will work also in softwrap mode
...
This fixes https://savannah.gnu.org/bugs/?49467 .
2016-10-28 11:38:58 +02:00
Benno Schulenberg
9c2e270b3e
softwrap: initialize 'editwincols' early, for computing the number of wraps
...
When giving a line number on the command line, do_gotolinecolumn() needs
to know the width of the screen to be able to (roughly) place the target
line in the center of the screen.
This fixes https://savannah.gnu.org/bugs/?49462 .
2016-10-28 10:50:06 +02:00
Benno Schulenberg
0eef5610eb
files: mark a new buffer as modified after inserting command output
...
This fixes https://savannah.gnu.org/bugs/?49423 .
2016-10-27 20:05:05 +02:00
Benno Schulenberg
2a55d2b29a
tweaks: adjust some comments and reduce the scope of some variables
...
Also remove some cluttering conditional compilation.
2016-10-27 20:04:50 +02:00
Benno Schulenberg
5416b9c09d
tweaks: remove a band-aid condition that is no longer needed
...
Also, don't bother conditionalizing two booleans for the tiny version.
2016-10-27 20:00:01 +02:00
Benno Schulenberg
7287300e0d
tweaks: compile two parameters unconditionally
2016-10-27 12:24:41 +02:00
Benno Schulenberg
ffeb0f9d4b
tweaks: don't spread a statement over multiple lines unnecessarily
2016-10-27 11:41:49 +02:00
Benno Schulenberg
10c9093942
general: add the option -g/--showcursor, to match Pico
...
The nanorc option already exists, but not the corresponding one
for the command line.
2016-10-27 11:34:41 +02:00
Benno Schulenberg
b38cbfe173
startup: always initialize 'margin' and 'editwincols'
...
This fixes https://savannah.gnu.org/bugs/?49428 .
2016-10-24 17:40:06 +02:00
Benno Schulenberg
702b09c859
tweaks: elide a parameter that is always FALSE
2016-10-23 20:07:39 +02:00
Benno Schulenberg
2cd8ca4eb1
tweaks: stop compiling the whole_word_only parameter conditionally
...
This make tiny nano slightly less tiny, but makes the code more readable.
2016-10-23 20:07:30 +02:00
Benno Schulenberg
55b1403542
tweaks: adjust some whitespace and a comment
2016-10-23 17:26:19 +02:00
Benno Schulenberg
9d5ee16614
tweaks: don't bother redrawing some lines when whole screen will be redrawn
2016-10-23 17:26:19 +02:00
Benno Schulenberg
01bbf7e82f
tweaks: rename a function to better describe what it does
...
It does not update anything -- it just picks a new point from
where to start displaying the buffer. All actual updating of
the screen is done by edit_refresh() and edit_redraw() and such.
2016-10-23 17:26:19 +02:00
Benno Schulenberg
ae648778e2
screen: refresh when a new magicline is added in line-numbering mode
...
This fixes https://savannah.gnu.org/bugs/?49406 .
2016-10-21 15:59:16 +02:00
Benno Schulenberg
023edffe3d
screen: move the margin determination to the main loop
...
There is no need to look at this for every painted line, because
the margin can only change when some key is struck.
2016-10-21 14:56:56 +02:00
Benno Schulenberg
2789bb0813
screen: repaint the edit window in a single place -- the main loop
...
Instead of doing this in two places: after interpreting shortcuts,
and after injecting characters.
2016-10-21 14:56:53 +02:00
Benno Schulenberg
4d996e4c39
screen: suppress line numbers when the terminal is very narrow
...
To prevent the display from getting messed up, making nano unusable.
2016-10-21 14:55:43 +02: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
Benno Schulenberg
43f35fc7a9
softwrap: ensure the current line is fully visible when moving in it
...
This fixes https://savannah.gnu.org/bugs/?49099 ,
and fixes the unreported corresponding bugs for
<End> and <Del> and typing extra characters.
2016-10-18 15:07:47 +02:00
Benno Schulenberg
d66ea08473
moving: adjust the Y position to correspond with the changed X position
...
So the softwrap code in do_down() can compute the correct amount to scroll.
This fixes https://savannah.gnu.org/bugs/?49374 .
2016-10-18 11:46:15 +02:00
Benno Schulenberg
8476bf86a1
tweaks: fix compilation when configured with --enable-tiny
2016-10-15 18:05:01 +02:00
Benno Schulenberg
c92982d60f
binding: fix some duplicated carets and too restrictive menus
2016-10-15 17:18:51 +02:00
Benno Schulenberg
7a274d621a
binding: use arrows instead of words to designate the cursor keys
2016-10-15 17:04:01 +02:00
Benno Schulenberg
fdee0df849
input: keep the Ctrl+Arrow keys working when their synonyms are unbound
...
This fixes https://savannah.gnu.org/bugs/?49058 reported by Rishabh Dave.
2016-10-15 17:03:10 +02:00
Benno Schulenberg
7013039c3a
tweaks: rename a variable, for consistency
2016-10-12 21:10:04 +02:00
Benno Schulenberg
925ad6393a
tweaks: remove a superfluous setting, and add a comment
2016-10-12 21:07:16 +02:00
Benno Schulenberg
3264d0c5be
tweaks: move a variable that doesn't need to be global
2016-10-12 19:59:26 +02:00
Benno Schulenberg
d9148e7b3f
tweaks: elide an unneeded variable
2016-10-12 19:20:39 +02:00
Benno Schulenberg
0a18d8912b
screen: defeat a VTE bug by doing an extra cursor move and update
...
This fixes https://savannah.gnu.org/bugs/?49106 .
2016-10-12 13:56:48 +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
Benno Schulenberg
d716809228
scrolling: don't put the last line at the bottom when softwrap in on
...
This avoids https://savannah.gnu.org/bugs/?49298 .
2016-10-10 13:19:51 +02:00
Benno Schulenberg
8041627cc3
tweaks: remove a bit of duplication
2016-09-20 12:54:16 +02:00
Benno Schulenberg
598e0af7af
softwrap: scroll the current line fully into view when jumping words
...
This fixes https://savannah.gnu.org/bugs/?47710
and fixes https://savannah.gnu.org/bugs/?49088 .
2016-09-20 12:29:10 +02:00
Benno Schulenberg
8ba57cf87b
input: don't return zero when some function is completely unbound
...
Returning a zero would mean returning a ^Space -- the keycode that
by default is bound to the Next-Word function. So, unbinding the
keys to which the modified Arrow keys are hard bound would cause
the latter ones to mysteriously jump to the next word.
This partially fixes https://savannah.gnu.org/bugs/?49058 .
2016-09-20 11:11:44 +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
97f6ae5267
softwrap: scroll 'enough' whenever it surpasses 'amount'
...
This fixes https://savannah.gnu.org/bugs/?49086 .
2016-09-14 12:40:58 +02:00
Benno Schulenberg
fc9c7b4917
softwrap: scroll when searching lands on an overlong bottom line
...
This fixes https://savannah.gnu.org/bugs/index.php?42189 .
2016-09-14 11:02:36 +02:00
Benno Schulenberg
77a1a5c3e4
tweaks: reshuffle some ifdefs, for less fragmentation
2016-09-14 11:00:18 +02:00
Benno Schulenberg
bc8bb7e942
screen: keep the help items nicely lined up also in the tiny version
2016-09-13 09:29:44 +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
4de0a5049b
tweaks: reshuffle an if statement
2016-09-11 21:43:47 +02:00
Benno Schulenberg
dc76e84657
files: alert about an unwritable file also in the tiny version
2016-09-11 21:40:50 +02:00
Benno Schulenberg
1c2b35675e
tweaks: adjust some indentation
2016-09-11 21:36:46 +02:00
Benno Schulenberg
09e95b2d91
tweaks: frob a few comments
2016-09-11 11:26:09 +02:00
Benno Schulenberg
03fd6f3af8
tweaks: remove a useless cursor movement
2016-09-11 10:43:21 +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
ad83ed22d9
input: handle the "resize key" in a better way
...
And correct a comment: the key /does/ occur also in the tiny version.
2016-09-06 12:09:18 +02:00
Benno Schulenberg
f13707fd1d
history: slate the search-history migration for removal
2016-09-03 21:04:17 +02:00
Benno Schulenberg
ed9e5d7183
docs: mark some rebindable function names as deprecated
2016-09-03 20:12:29 +02:00
Benno Schulenberg
2fd497e3ef
tweaks: remove a superfluous blanking of the statusbar
...
The prompt from which the browser was invoked has already blanked it.
2016-09-03 15:34:44 +02:00
Benno Schulenberg
fd6308d6d3
tweaks: reshuffle a couple of items
2016-09-03 13:42:19 +02:00
Benno Schulenberg
1dbebbcadc
screen: keep the help items aligned in more configurations
...
This fixes https://savannah.gnu.org/bugs/?48987 .
2016-09-03 13:35:19 +02:00
Benno Schulenberg
57d1755d10
tweaks: preen some comments, and reshuffle a few ifdefs
2016-09-03 12:14:08 +02:00
Benno Schulenberg
bace664fbc
startup: allow to rebind the RegExp toggle also in the tiny version
...
This fixes https://savannah.gnu.org/bugs/?48988 .
2016-09-03 11:45:49 +02:00