1
1

Allow backspace to be bound to keys in .nanorc

Allow kdel to be rebound
Add note about rebinding kdel to backspace for those using OSX or PuTTY to connect to remote Linux machines in nanorc.sample.in

When undoing text deletes, move current_x to proper location



git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4281 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
Chris Allegretta 2008-07-13 16:44:19 +00:00
родитель 70859f4a5b
Коммит fa406949ec
4 изменённых файлов: 8 добавлений и 2 удалений

Просмотреть файл

@ -222,6 +222,9 @@
# bind M-A casesens search
# bind ^S research main
## Set this if your backspace key sends delete most of the time (2.1.3+)
# bind kdel backspace all
## Nanorc files
# include "@PKGDATADIR@/nanorc.nanorc"

Просмотреть файл

@ -1446,6 +1446,8 @@ sc *strtosc(int menu, char *input)
s->scfunc = do_enter;
else if (!strcasecmp(input, "delete"))
s->scfunc = do_delete;
else if (!strcasecmp(input, "backspace"))
s->scfunc = do_backspace;
else if (!strcasecmp(input, "refresh"))
s->scfunc = total_refresh;
else if (!strcasecmp(input, "casesens")) {

Просмотреть файл

@ -380,7 +380,7 @@ void parse_keybinding(char *ptr)
for (i = 0; i < strlen(keycopy); i++)
keycopy[i] = toupper(keycopy[i]);
if (keycopy[0] != 'M' && keycopy[0] != '^' && keycopy[0] != 'F') {
if (keycopy[0] != 'M' && keycopy[0] != '^' && keycopy[0] != 'F' && keycopy[0] != 'K') {
rcfile_error(
N_("keybindings must begin with \"^\", \"M\", or \"F\"\n"));
return;

Просмотреть файл

@ -393,6 +393,7 @@ void do_undo(void)
fprintf(stderr, "Undo running for type %d\n", u->type);
#endif
openfile->current_x = u->begin;
switch(u->type) {
case ADD:
action = _("text add");
@ -413,6 +414,7 @@ void do_undo(void)
strcpy(&data[u->begin + strlen(u->strdata)], &f->data[u->begin]);
free(f->data);
f->data = data;
openfile->current_x += strlen(u->strdata);
break;
case SPLIT:
action = _("line split");
@ -442,7 +444,6 @@ void do_undo(void)
}
openfile->current = f;
openfile->current_x = u->begin;
edit_refresh();
statusbar(_("Undid action (%s)"), action);
openfile->current_undo = openfile->current_undo->next;